Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
jinli gu
Litemall
Commits
854bacf6
Commit
854bacf6
authored
Aug 25, 2018
by
Menethil
Browse files
添加Renard小程序
parent
a50998e6
Changes
222
Hide whitespace changes
Inline
Side-by-side
renard-wx/pages/brand/brand.js
0 → 100644
View file @
854bacf6
var
util
=
require
(
'
../../utils/util.js
'
);
var
api
=
require
(
'
../../config/api.js
'
);
var
app
=
getApp
();
Page
({
data
:
{
brandList
:
[],
page
:
1
,
size
:
10
,
totalPages
:
1
},
onLoad
:
function
(
options
)
{
// 页面初始化 options为页面跳转所带来的参数
this
.
getBrandList
();
},
getBrandList
:
function
()
{
wx
.
showLoading
({
title
:
'
加载中...
'
,
});
let
that
=
this
;
util
.
request
(
api
.
BrandList
,
{
page
:
that
.
data
.
page
,
size
:
that
.
data
.
size
}).
then
(
function
(
res
)
{
if
(
res
.
errno
===
0
)
{
that
.
setData
({
brandList
:
that
.
data
.
brandList
.
concat
(
res
.
data
.
brandList
),
totalPages
:
res
.
data
.
totalPages
});
}
wx
.
hideLoading
();
});
},
onReachBottom
()
{
if
(
this
.
data
.
totalPages
>
this
.
data
.
page
)
{
this
.
setData
({
page
:
this
.
data
.
page
+
1
});
}
else
{
return
false
;
}
this
.
getBrandList
();
},
onReady
:
function
()
{
},
onShow
:
function
()
{
// 页面显示
},
onHide
:
function
()
{
// 页面隐藏
},
onUnload
:
function
()
{
// 页面关闭
}
})
\ No newline at end of file
renard-wx/pages/brand/brand.json
0 → 100644
View file @
854bacf6
{
"navigationBarTitleText"
:
"品牌商直供"
}
\ No newline at end of file
renard-wx/pages/brand/brand.wxml
0 → 100644
View file @
854bacf6
<view class="container">
<view class="brand-list">
<navigator url="../brandDetail/brandDetail?id={{item.id}}" class="item" wx:for="{{brandList}}" wx:key="id">
<view class="img-bg">
<image src="{{item.picUrl}}" background-size="cover"></image>
</view>
<view class="txt-box">
<view class="line">
<text class="name">{{item.name}}</text>
</view>
</view>
</navigator>
</view>
</view>
\ No newline at end of file
renard-wx/pages/brand/brand.wxss
0 → 100644
View file @
854bacf6
.brand-list .item{
display: block;
width: 750rpx;
height: 416rpx;
position: relative;
margin-bottom: 4rpx;
}
.brand-list .item .img-bg{
position: absolute;
left:0;
top:0;
z-index: 0;
width: 750rpx;
height: 417rpx;
overflow: hidden;
}
.brand-list .item .img-bg image{
width: 750rpx;
height: 416rpx;
}
.brand-list .item .txt-box{
position: absolute;
left:0;
top:0;
display: table;
z-index: 0;
width: 750rpx;
height: 417rpx;
}
.brand-list .item .line{
display: table-cell;
vertical-align: middle;
text-align: center;
height: 63rpx;
line-height: 63rpx;
}
.brand-list .item .line text{
font-size: 35rpx;
font-weight: 700;
text-shadow: 1rpx 1rpx rgba(0,0,0,.32);
color: #fff;
}
.brand-list .item .line .s{
padding: 0 10rpx;
font-size: 40rpx;
}
\ No newline at end of file
renard-wx/pages/brandDetail/brandDetail.js
0 → 100644
View file @
854bacf6
var
util
=
require
(
'
../../utils/util.js
'
);
var
api
=
require
(
'
../../config/api.js
'
);
var
app
=
getApp
();
Page
({
data
:
{
id
:
0
,
brand
:
{},
goodsList
:
[],
page
:
1
,
size
:
100
},
onLoad
:
function
(
options
)
{
// 页面初始化 options为页面跳转所带来的参数
var
that
=
this
;
that
.
setData
({
id
:
parseInt
(
options
.
id
)
});
this
.
getBrand
();
},
getBrand
:
function
()
{
let
that
=
this
;
util
.
request
(
api
.
BrandDetail
,
{
id
:
that
.
data
.
id
}).
then
(
function
(
res
)
{
if
(
res
.
errno
===
0
)
{
that
.
setData
({
brand
:
res
.
data
.
brand
});
that
.
getGoodsList
();
}
});
},
getGoodsList
()
{
var
that
=
this
;
util
.
request
(
api
.
GoodsList
,
{
brandId
:
that
.
data
.
id
,
page
:
that
.
data
.
page
,
size
:
that
.
data
.
size
})
.
then
(
function
(
res
)
{
if
(
res
.
errno
===
0
)
{
that
.
setData
({
goodsList
:
res
.
data
.
goodsList
});
}
});
},
onReady
:
function
()
{
// 页面渲染完成
},
onShow
:
function
()
{
// 页面显示
},
onHide
:
function
()
{
// 页面隐藏
},
onUnload
:
function
()
{
// 页面关闭
}
})
\ No newline at end of file
renard-wx/pages/brandDetail/brandDetail.json
0 → 100644
View file @
854bacf6
{
"navigationBarTitleText"
:
"品牌商详情"
,
"usingComponents"
:
{
"goodList"
:
"/components/goodList/goodList"
}
}
\ No newline at end of file
renard-wx/pages/brandDetail/brandDetail.wxml
0 → 100644
View file @
854bacf6
<view class="container">
<view class="brand-info">
<view class="name">
<image class="img" src="{{brand.picUrl}}" background-size="cover"></image>
<view class="info-box">
<view class="info">
<text class="txt">{{brand.name}}</text>
<text class="line"></text>
</view>
</view>
</view>
<view class="desc">
{{brand.desc}}
</view>
</view>
<view class="cate-item">
<goodList calss="goodList" goods="{{goodsList}}"></goodList>
</view>
</view>
\ No newline at end of file
renard-wx/pages/brandDetail/brandDetail.wxss
0 → 100644
View file @
854bacf6
page {
background: #f4f4f4;
}
.brand-info .name {
width: 100%;
height: 290rpx;
position: relative;
}
.brand-info .img {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 290rpx;
}
.brand-info .info-box {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 290rpx;
text-align: center;
display: flex;
justify-content: center;
align-items: center;
}
.brand-info .info {
display: block;
}
.brand-info .txt {
display: block;
height: 37.5rpx;
font-size: 37.5rpx;
color: #fff;
}
.brand-info .line {
margin: 0 auto;
margin-top: 16rpx;
display: block;
height: 2rpx;
width: 145rpx;
background: #fff;
}
.brand-info .desc {
background: #fff;
width: 100%;
height: auto;
overflow: hidden;
padding: 41.5rpx 31.25rpx;
font-size: 30rpx;
color: #666;
line-height: 41.5rpx;
text-align: center;
}
\ No newline at end of file
renard-wx/pages/cart/cart.js
0 → 100644
View file @
854bacf6
var
util
=
require
(
'
../../utils/util.js
'
);
var
api
=
require
(
'
../../config/api.js
'
);
var
user
=
require
(
'
../../utils/user.js
'
);
var
app
=
getApp
();
Page
({
data
:
{
cartGoods
:
[],
cartTotal
:
{
"
goodsCount
"
:
0
,
"
goodsAmount
"
:
0.00
,
"
checkedGoodsCount
"
:
0
,
"
checkedGoodsAmount
"
:
0.00
},
isEditCart
:
false
,
checkedAllStatus
:
true
,
editCartList
:
[],
hasLogin
:
false
},
onLoad
:
function
(
options
)
{
// 页面初始化 options为页面跳转所带来的参数
},
onReady
:
function
()
{
// 页面渲染完成
},
onShow
:
function
()
{
// 页面显示
if
(
app
.
globalData
.
hasLogin
)
{
this
.
getCartList
();
}
this
.
setData
({
hasLogin
:
app
.
globalData
.
hasLogin
});
},
onHide
:
function
()
{
// 页面隐藏
},
onUnload
:
function
()
{
// 页面关闭
},
goLogin
()
{
wx
.
navigateTo
({
url
:
"
/pages/auth/login/login
"
});
},
onPullDownRefresh
()
{
wx
.
showNavigationBarLoading
()
//在标题栏中显示加载
this
.
getCartList
();
wx
.
hideNavigationBarLoading
()
//完成停止加载
wx
.
stopPullDownRefresh
()
//停止下拉刷新
},
getCartList
:
function
()
{
let
that
=
this
;
util
.
request
(
api
.
CartList
).
then
(
function
(
res
)
{
if
(
res
.
errno
===
0
)
{
that
.
setData
({
cartGoods
:
res
.
data
.
cartList
,
cartTotal
:
res
.
data
.
cartTotal
});
that
.
setData
({
checkedAllStatus
:
that
.
isCheckedAll
()
});
}
});
},
isCheckedAll
:
function
()
{
//判断购物车商品已全选
return
this
.
data
.
cartGoods
.
every
(
function
(
element
,
index
,
array
)
{
if
(
element
.
checked
==
true
)
{
return
true
;
}
else
{
return
false
;
}
});
},
doCheckedAll
:
function
()
{
let
checkedAll
=
this
.
isCheckedAll
()
this
.
setData
({
checkedAllStatus
:
this
.
isCheckedAll
()
});
},
checkedItem
:
function
(
event
)
{
let
itemIndex
=
event
.
target
.
dataset
.
itemIndex
;
let
that
=
this
;
let
productIds
=
[];
productIds
.
push
(
that
.
data
.
cartGoods
[
itemIndex
].
productId
);
if
(
!
this
.
data
.
isEditCart
)
{
util
.
request
(
api
.
CartChecked
,
{
productIds
:
productIds
,
isChecked
:
that
.
data
.
cartGoods
[
itemIndex
].
checked
?
0
:
1
},
'
POST
'
).
then
(
function
(
res
)
{
if
(
res
.
errno
===
0
)
{
that
.
setData
({
cartGoods
:
res
.
data
.
cartList
,
cartTotal
:
res
.
data
.
cartTotal
});
}
that
.
setData
({
checkedAllStatus
:
that
.
isCheckedAll
()
});
});
}
else
{
//编辑状态
let
tmpCartData
=
this
.
data
.
cartGoods
.
map
(
function
(
element
,
index
,
array
)
{
if
(
index
==
itemIndex
)
{
element
.
checked
=
!
element
.
checked
;
}
return
element
;
});
that
.
setData
({
cartGoods
:
tmpCartData
,
checkedAllStatus
:
that
.
isCheckedAll
(),
'
cartTotal.checkedGoodsCount
'
:
that
.
getCheckedGoodsCount
()
});
}
},
getCheckedGoodsCount
:
function
()
{
let
checkedGoodsCount
=
0
;
this
.
data
.
cartGoods
.
forEach
(
function
(
v
)
{
if
(
v
.
checked
===
true
)
{
checkedGoodsCount
+=
v
.
number
;
}
});
console
.
log
(
checkedGoodsCount
);
return
checkedGoodsCount
;
},
checkedAll
:
function
()
{
let
that
=
this
;
if
(
!
this
.
data
.
isEditCart
)
{
var
productIds
=
this
.
data
.
cartGoods
.
map
(
function
(
v
)
{
return
v
.
productId
;
});
util
.
request
(
api
.
CartChecked
,
{
productIds
:
productIds
,
isChecked
:
that
.
isCheckedAll
()
?
0
:
1
},
'
POST
'
).
then
(
function
(
res
)
{
if
(
res
.
errno
===
0
)
{
console
.
log
(
res
.
data
);
that
.
setData
({
cartGoods
:
res
.
data
.
cartList
,
cartTotal
:
res
.
data
.
cartTotal
});
}
that
.
setData
({
checkedAllStatus
:
that
.
isCheckedAll
()
});
});
}
else
{
//编辑状态
let
checkedAllStatus
=
that
.
isCheckedAll
();
let
tmpCartData
=
this
.
data
.
cartGoods
.
map
(
function
(
v
)
{
v
.
checked
=
!
checkedAllStatus
;
return
v
;
});
that
.
setData
({
cartGoods
:
tmpCartData
,
checkedAllStatus
:
that
.
isCheckedAll
(),
'
cartTotal.checkedGoodsCount
'
:
that
.
getCheckedGoodsCount
()
});
}
},
editCart
:
function
()
{
var
that
=
this
;
if
(
this
.
data
.
isEditCart
)
{
this
.
getCartList
();
this
.
setData
({
isEditCart
:
!
this
.
data
.
isEditCart
});
}
else
{
//编辑状态
let
tmpCartList
=
this
.
data
.
cartGoods
.
map
(
function
(
v
)
{
v
.
checked
=
false
;
return
v
;
});
this
.
setData
({
editCartList
:
this
.
data
.
cartGoods
,
cartGoods
:
tmpCartList
,
isEditCart
:
!
this
.
data
.
isEditCart
,
checkedAllStatus
:
that
.
isCheckedAll
(),
'
cartTotal.checkedGoodsCount
'
:
that
.
getCheckedGoodsCount
()
});
}
},
updateCart
:
function
(
productId
,
goodsId
,
number
,
id
)
{
let
that
=
this
;
util
.
request
(
api
.
CartUpdate
,
{
productId
:
productId
,
goodsId
:
goodsId
,
number
:
number
,
id
:
id
},
'
POST
'
).
then
(
function
(
res
)
{
that
.
setData
({
checkedAllStatus
:
that
.
isCheckedAll
()
});
});
},
cutNumber
:
function
(
event
)
{
let
itemIndex
=
event
.
target
.
dataset
.
itemIndex
;
let
cartItem
=
this
.
data
.
cartGoods
[
itemIndex
];
let
number
=
(
cartItem
.
number
-
1
>
1
)
?
cartItem
.
number
-
1
:
1
;
cartItem
.
number
=
number
;
this
.
setData
({
cartGoods
:
this
.
data
.
cartGoods
});
this
.
updateCart
(
cartItem
.
productId
,
cartItem
.
goodsId
,
number
,
cartItem
.
id
);
},
addNumber
:
function
(
event
)
{
let
itemIndex
=
event
.
target
.
dataset
.
itemIndex
;
let
cartItem
=
this
.
data
.
cartGoods
[
itemIndex
];
let
number
=
cartItem
.
number
+
1
;
cartItem
.
number
=
number
;
this
.
setData
({
cartGoods
:
this
.
data
.
cartGoods
});
this
.
updateCart
(
cartItem
.
productId
,
cartItem
.
goodsId
,
number
,
cartItem
.
id
);
},
checkoutOrder
:
function
()
{
//获取已选择的商品
let
that
=
this
;
var
checkedGoods
=
this
.
data
.
cartGoods
.
filter
(
function
(
element
,
index
,
array
)
{
if
(
element
.
checked
==
true
)
{
return
true
;
}
else
{
return
false
;
}
});
if
(
checkedGoods
.
length
<=
0
)
{
return
false
;
}
// storage中设置了cartId,则是购物车购买
try
{
wx
.
setStorageSync
(
'
cartId
'
,
0
);
wx
.
navigateTo
({
url
:
'
../shopping/checkout/checkout
'
})
}
catch
(
e
)
{}
},
deleteCart
:
function
()
{
//获取已选择的商品
let
that
=
this
;
let
productIds
=
this
.
data
.
cartGoods
.
filter
(
function
(
element
,
index
,
array
)
{
if
(
element
.
checked
==
true
)
{
return
true
;
}
else
{
return
false
;
}
});
if
(
productIds
.
length
<=
0
)
{
return
false
;
}
productIds
=
productIds
.
map
(
function
(
element
,
index
,
array
)
{
if
(
element
.
checked
==
true
)
{
return
element
.
productId
;
}
});
util
.
request
(
api
.
CartDelete
,
{
productIds
:
productIds
},
'
POST
'
).
then
(
function
(
res
)
{
if
(
res
.
errno
===
0
)
{
console
.
log
(
res
.
data
);
let
cartList
=
res
.
data
.
cartList
.
map
(
v
=>
{
v
.
checked
=
false
;
return
v
;
});
that
.
setData
({
cartGoods
:
cartList
,
cartTotal
:
res
.
data
.
cartTotal
});
}
that
.
setData
({
checkedAllStatus
:
that
.
isCheckedAll
()
});
});
}
})
\ No newline at end of file
renard-wx/pages/cart/cart.json
0 → 100644
View file @
854bacf6
{
"backgroundColor"
:
"#f4f4f4"
,
"navigationBarTitleText"
:
"购物车"
}
\ No newline at end of file
renard-wx/pages/cart/cart.wxml
0 → 100644
View file @
854bacf6
<view class="container">
<view class="no-login" wx:if="{{!hasLogin}}">
<view class="c">
<image src="http://nos.netease.com/mailpub/hxm/yanxuan-wap/p/20150730/style/img/icon-normal/noCart-a8fe3f12e5.png" />
<text>还没有登录</text>
<button plain="true" bindtap="goLogin">去登录</button>
</view>
</view>
<view class='login' wx:else>
<view class="service-policy">
<view class="item">30天无忧退货</view>
<view class="item">48小时快速退款</view>
<view class="item">满88元免邮费</view>
</view>
<view class="no-cart" wx:if="{{cartGoods.length <= 0}}">
<view class="c">
<image src="http://nos.netease.com/mailpub/hxm/yanxuan-wap/p/20150730/style/img/icon-normal/noCart-a8fe3f12e5.png" />
<text>去添加点什么吧</text>
</view>
</view>
<view class="cart-view" wx:else>
<view class="list">
<view class="group-item">
<view class="goods">
<view class="item {{isEditCart ? 'edit' : ''}}" wx:for="{{cartGoods}}" wx:key="id">
<view class="checkbox {{item.checked ? 'checked' : ''}}" bindtap="checkedItem" data-item-index="{{index}}"></view>
<view class="cart-goods">
<image class="img" src="{{item.picUrl}}"></image>
<view class="info">
<view class="t">
<text class="name">{{item.goodsName}}</text>
<text class="num">x{{item.number}}</text>
</view>
<view class="attr">{{ isEditCart ? '已选择:' : ''}}{{item.goodsSpecificationValues||''}}</view>
<view class="b">
<text class="price">¥{{item.price}}</text>
<view class="selnum">
<view class="cut" bindtap="cutNumber" data-item-index="{{index}}">-</view>
<input value="{{item.number}}" class="number" disabled="true" type="number" />
<view class="add" bindtap="addNumber" data-item-index="{{index}}">+</view>
</view>
</view>
</view>
</view>
</view>
</view>
</view>
</view>
<view class="cart-bottom">
<view class="checkbox {{checkedAllStatus ? 'checked' : ''}}" bindtap="checkedAll">全选({{cartTotal.checkedGoodsCount}})</view>
<view class="total">{{!isEditCart ? '¥'+cartTotal.checkedGoodsAmount : ''}}</view>
<view class="delete" bindtap="editCart">{{!isEditCart ? '编辑' : '完成'}}</view>
<view class="checkout" bindtap="deleteCart" wx:if="{{isEditCart}}">删除所选</view>
<view class="checkout" bindtap="checkoutOrder" wx:if="{{!isEditCart}}">下单</view>
</view>
</view>
</view>
</view>
\ No newline at end of file
renard-wx/pages/cart/cart.wxss
0 → 100644
View file @
854bacf6
page {
height: 100%;
min-height: 100%;
background: #f4f4f4;
}
.container {
background: #f4f4f4;
width: 100%;
height: auto;
min-height: 100%;
overflow: hidden;
}
.service-policy {
width: 750rpx;
height: 73rpx;
background: #f4f4f4;
padding: 0 31.25rpx;
display: flex;
flex-flow: row nowrap;
align-items: center;
justify-content: space-between;
}
.service-policy .item {
/* background: url(http://nos.netease.com/mailpub/hxm/yanxuan-wap/p/20150730/style/img/icon-normal/servicePolicyRed-518d32d74b.png) 0 center no-repeat; */
background-size: 10rpx;
padding-left: 15rpx;
display: flex;
align-items: center;
font-size: 25rpx;
color: #a78845;
}
.no-login {
width: 100%;
height: auto;
margin: 0 auto;
color: #a78845;
}
.no-login .c {
width: 100%;
height: auto;
margin-top: 200rpx;
color: #a78845;
}
.no-login .c image {
margin: 0 auto;
display: block;
text-align: center;
width: 258rpx;
height: 258rpx;
color: #a78845;
}
.no-login .c text {
margin: 0 auto;
display: block;
width: 258rpx;
height: 59rpx;
line-height: 29rpx;
text-align: center;
font-size: 40rpx;
color: #a78845;
}
.no-login button {
width: 60%;
margin: 0 auto;
color: #a78845;
/* background-color: #FFF; */
border-color: #a78845;
}
.no-cart {
width: 100%;
height: auto;
margin: 0 auto;
color: #a78845;
}
.no-cart .c {
width: 100%;
height: auto;
margin-top: 200rpx;
}
.no-cart .c image {
margin: 0 auto;
display: block;
text-align: center;
width: 258rpx;
height: 258rpx;
}
.no-cart .c text {
margin: 0 auto;
display: block;
width: 258rpx;
height: 29rpx;
line-height: 29rpx;
text-align: center;
font-size: 29rpx;
color: #999;
}
.cart-view {
width: 100%;
height: auto;
overflow: hidden;
}
.cart-view .list {
height: auto;
width: 100%;
overflow: hidden;
margin-bottom: 120rpx;
}
.cart-view .group-item {
height: auto;
width: 100%;
background: #fff;
margin-bottom: 18rpx;
}
.cart-view .item {
height: 164rpx;
width: 100%;
overflow: hidden;
}
.cart-view .item .checkbox {
float: left;
height: 34rpx;
width: 34rpx;
margin: 65rpx 18rpx 65rpx 26rpx;
background: url(http://nos.netease.com/mailpub/hxm/yanxuan-wap/p/20150730/style/img/icon-normal/checkbox-0e09baa37e.png) no-repeat;
background-size: 34rpx;
}
.cart-view .item .checkbox.checked {
background: url(http://nos.netease.com/mailpub/hxm/yanxuan-wap/p/20150730/style/img/icon-normal/checkbox-checked-822e54472a.png) no-repeat;
background-size: 34rpx;
}
.cart-view .item .cart-goods {
float: left;
height: 164rpx;
width: 672rpx;
border-bottom: 1px solid #f4f4f4;
}
.cart-view .item .img {
float: left;
height: 125rpx;
width: 125rpx;
background: #f4f4f4;
margin: 19.5rpx 18rpx 19.5rpx 0;
}
.cart-view .item .info {
float: left;
height: 125rpx;
width: 503rpx;
margin: 19.5rpx 26rpx 19.5rpx 0;
}
.cart-view .item .t {
margin: 8rpx 0;
height: 28rpx;
font-size: 25rpx;
color: #333;
overflow: hidden;
}
.cart-view .item .name {
height: 28rpx;
max-width: 310rpx;
line-height: 28rpx;
font-size: 25rpx;
color: #333;
overflow: hidden;
}
.cart-view .item .num {
height: 28rpx;
line-height: 28rpx;
float: right;
}
.cart-view .item .attr {
margin-bottom: 17rpx;
height: 24rpx;
line-height: 24rpx;
font-size: 22rpx;
color: #666;
overflow: hidden;
}
.cart-view .item .b {
height: 28rpx;
line-height: 28rpx;
font-size: 25rpx;
color: #333;
overflow: hidden;
}
.cart-view .item .price {
float: left;
color: #a78845;
}
.cart-view .item .open {
height: 28rpx;
width: 150rpx;
display: block;
float: right;
background: url(http://nos.netease.com/mailpub/hxm/yanxuan-wap/p/20150730/style/img/icon-normal/arrowDown-d48093db25.png) right center no-repeat;
background-size: 25rpx;
font-size: 25rpx;
color: #333;
}
.cart-view .item.edit .t {
display: none;
}
.cart-view .item.edit .attr {
text-align: right;
background: url(http://yanxuan.nosdn.127.net/hxm/yanxuan-wap/p/20161201/style/img/icon-normal/arrow-right1-e9828c5b35.png) right center no-repeat;
padding-right: 25rpx;
background-size: 12rpx 20rpx;
margin-bottom: 24rpx;
height: 39rpx;
line-height: 39rpx;
font-size: 24rpx;
color: #999;
overflow: hidden;
}
.cart-view .item.edit .b {
display: flex;
height: 52rpx;
overflow: hidden;
}
.cart-view .item.edit .price {
line-height: 52rpx;
height: 52rpx;
flex: 1;
}
.cart-view .item .selnum {
display: none;
}
.cart-view .item.edit .selnum {
width: 235rpx;
height: 52rpx;
border: 1rpx solid #ccc;
display: flex;
}
.selnum .cut {
width: 70rpx;
height: 100%;
text-align: center;
line-height: 50rpx;
}
.selnum .number {
flex: 1;
height: 100%;
text-align: center;
line-height: 68.75rpx;
border-left: 1px solid #ccc;
border-right: 1px solid #ccc;
float: left;
}
.selnum .add {
width: 80rpx;
height: 100%;
text-align: center;
line-height: 50rpx;
}
.cart-view .group-item .header {
width: 100%;
height: 94rpx;
line-height: 94rpx;
padding: 0 26rpx;
border-bottom: 1px solid #f4f4f4;
}
.cart-view .promotion .icon {
display: inline-block;
height: 24rpx;
width: 15rpx;
}
.cart-view .promotion {
margin-top: 25.5rpx;
float: left;
height: 43rpx;
width: 480rpx;
/*margin-right: 84rpx;*/
line-height: 43rpx;
font-size: 0;
}
.cart-view .promotion .tag {
border: 1px solid #f48f18;
height: 37rpx;
line-height: 31rpx;
padding: 0 9rpx;
margin-right: 10rpx;
color: #f48f18;
font-size: 24.5rpx;
}
.cart-view .promotion .txt {
height: 43rpx;
line-height: 43rpx;
padding-right: 10rpx;
color: #333;
font-size: 29rpx;
overflow: hidden;
}
.cart-view .get {
margin-top: 18rpx;
float: right;
height: 58rpx;
padding-left: 14rpx;
border-left: 1px solid #d9d9d9;
line-height: 58rpx;
font-size: 29rpx;
color: #333;
}
.cart-bottom {
position: fixed;
bottom: 0;
left: 0;
height: 100rpx;
width: 100%;
background: #fff;
display: flex;
}
.cart-bottom .checkbox {
height: 34rpx;
padding-left: 60rpx;
line-height: 34rpx;
margin: 33rpx 18rpx 33rpx 26rpx;
background: url(http://nos.netease.com/mailpub/hxm/yanxuan-wap/p/20150730/style/img/icon-normal/checkbox-0e09baa37e.png) no-repeat;
background-size: 34rpx;
font-size: 29rpx;
}
.cart-bottom .checkbox.checked {
background: url(http://nos.netease.com/mailpub/hxm/yanxuan-wap/p/20150730/style/img/icon-normal/checkbox-checked-822e54472a.png) no-repeat;
background-size: 34rpx;
}
.cart-bottom .total {
height: 34rpx;
flex: 1;
margin: 33rpx 10rpx;
font-size: 29rpx;
color: #a78845;
}
.cart-bottom .delete {
height: 34rpx;
width: auto;
margin: 33rpx 18rpx;
font-size: 29rpx;
}
.cart-bottom .checkout {
height: 100rpx;
width: 210rpx;
text-align: center;
line-height: 100rpx;
font-size: 29rpx;
background: #a78845;
color: #fff;
}
renard-wx/pages/catalog/catalog.js
0 → 100644
View file @
854bacf6
var
util
=
require
(
'
../../utils/util.js
'
);
var
api
=
require
(
'
../../config/api.js
'
);
Page
({
data
:
{
categoryList
:
[],
currentCategory
:
{},
currentSubCategoryList
:
{},
allList
:
{},
scrollLeft
:
0
,
scrollTop
:
0
,
goodsCount
:
0
,
scrollHeight
:
0
},
onLoad
:
function
(
options
)
{
this
.
getCatalog
();
},
onPullDownRefresh
()
{
wx
.
showNavigationBarLoading
()
//在标题栏中显示加载
this
.
getCatalog
();
wx
.
hideNavigationBarLoading
()
//完成停止加载
wx
.
stopPullDownRefresh
()
//停止下拉刷新
},
getCatalog
:
function
()
{
//CatalogList
let
that
=
this
;
wx
.
showLoading
({
title
:
'
加载中...
'
,
});
util
.
request
(
api
.
CatalogAll
).
then
(
function
(
res
)
{
that
.
setData
({
allList
:
res
.
data
.
allList
,
categoryList
:
res
.
data
.
categoryList
,
currentCategory
:
res
.
data
.
currentCategory
,
currentSubCategoryList
:
res
.
data
.
currentSubCategory
});
});
wx
.
hideLoading
();
},
getCurrentCategory
:
function
(
item
)
{
let
that
=
this
;
for
(
var
key
in
that
.
data
.
allList
)
{
if
(
key
==
item
.
id
)
{
that
.
setData
({
currentCategory
:
item
,
currentSubCategoryList
:
that
.
data
.
allList
[
key
]
});
}
}
},
onReady
:
function
()
{
// 页面渲染完成
},
onShow
:
function
()
{
// 页面显示
},
onHide
:
function
()
{
// 页面隐藏
},
onUnload
:
function
()
{
// 页面关闭
},
switchCate
:
function
(
event
)
{
if
(
this
.
data
.
currentCategory
.
id
==
event
.
currentTarget
.
dataset
.
id
)
{
return
false
;
}
this
.
getCurrentCategory
(
event
.
currentTarget
.
dataset
.
id
);
},
levelClick
:
function
(
e
)
{
console
.
log
(
e
.
currentTarget
.
dataset
.
id
)
wx
.
navigateTo
({
url
:
"
/pages/category/category?id=
"
+
e
.
currentTarget
.
dataset
.
id
})
}
})
\ No newline at end of file
renard-wx/pages/catalog/catalog.json
0 → 100644
View file @
854bacf6
{
"navigationBarTitleText"
:
"分类"
}
\ No newline at end of file
renard-wx/pages/catalog/catalog.wxml
0 → 100644
View file @
854bacf6
<view class="container">
<view class="search">
<navigator url="/pages/search/search" class="input">
<image class="icon"></image>
<text class="txt">搜索</text>
</navigator>
</view>
<view class="HotName">分类
<text></text>
</view>
<view class="menu-box">
<view wx:for-items="{{categoryList}}" wx:key="id" class="menu-box-list">
<view class="menu-list-title {{currentCategory.id==item.id?'hover':''}}" bindtap="switchCate" id="{{item}}" data-id="{{item}}" data-index="{{index}}">
<text class="{{currentCategory.id==item.id ?'l':''}}"></text> {{item.name}}
<text class="{{currentCategory.id==item.id ?'r':''}}"></text>
</view>
<view class="menu-list-pro" if="{{item.level == 2}}" id="{{item.id}}">
<view class="menu-list-pro" hidden="{{currentCategory.id==item.id ? '':'true'}}">
<!--<navigator url="/pages/category/category?id={{item.id}}" wx:key="id" wx:for="{{currentSubCategoryList}}">
<image class="icon" src="{{item.wapBannerUrl}}"></image>
</navigator>-->
<view class="menu-list-item" wx:for-items="{{currentSubCategoryList}}" wx:key="id" bindtap="levelClick" data-id="{{item.id}}">
<image class="icon" src="{{item.iconUrl}}"></image>
<text class="txt">{{item.name}}</text>
</view>
</view>
</view>
</view>
</view>
</view>
\ No newline at end of file
renard-wx/pages/catalog/catalog.wxss
0 → 100644
View file @
854bacf6
.HotName{
font-size:80rpx;
margin-left:40rpx;
color:#293539;
font-weight:300;
position: relative;
}
.HotName text{
width:14rpx;
height:14rpx;
position:absolute;
border:2px solid #a78845;
border-radius:50%;
}
.menu-box{
width:80%;
margin:0 auto;
margin-top:40rpx;
}
.menu-box-list{
text-align:center;
margin-bottom:30rpx;
}
.menu-box-list .menu-list-title{
color:#6a7275;
font-size:40rpx;
font-weight:300;
letter-spacing:20rpx;
position: relative;
}
.menu-box-list .hover{
color:#a78845;
}
.menu-box-list .hover .l{
width:10rpx;
height:10rpx;
position:absolute;
border:2rpx solid #a78845;
border-radius:50%;
margin-left:-38rpx;
margin-top:30rpx;
}
.menu-box-list .hover .r{
width:10rpx;
height:10rpx;
position:absolute;
border:2rpx solid #a78845;
border-radius:50%;
margin-left:6rpx;
margin-top:30rpx;
}
.menu-list-pro{
overflow-x: scroll;
margin-top: 40rpx;
white-space:nowrap;
text-overflow:ellipsis;
height: auto;
width: 100%;
overflow: hidden;
}
.menu-list-pro .menu-list-item {
display: block;
float: left;
height: 240rpx;
width: 120rpx;
margin-right: 30rpx;
}
.menu-list-pro .icon {
height: 100rpx;
width: 100rpx;
border-radius:12rpx;
box-shadow:0px 4rpx 4rpx 0px #cfc9ca;
}
.menu-list-pro .txt {
display: block;
float: left;
width: 120rpx;
color: #a78845;
}
.search {
height: 88rpx;
width: 100%;
padding: 0 30rpx;
background: #fff;
display: flex;
align-items: center;
}
.search .input {
width: 690rpx;
height: 56rpx;
background: #ededed;
border-radius: 8rpx;
display: flex;
align-items: center;
justify-content: center;
}
.search .icon {
background: url(http://yanxuan.nosdn.127.net/hxm/yanxuan-wap/p/20161201/style/img/icon-normal/search2-2fb94833aa.png) center no-repeat;
background-size: 100%;
width: 28rpx;
height: 28rpx;
}
.search .txt {
height: 42rpx;
line-height: 42rpx;
color: #666;
padding-left: 10rpx;
font-size: 30rpx;
}
/* .menu-list-pro image{
height: 80px;
width: 80px;
margin-right: 34rpx;
margin-bottom: 34px;
background-color:#f5f5f5;
margin-right:10px;
border-radius:5px;
}
.menu-list-pro text{
text-align: center;
font-size: 24rpx;
color: #333;
height: 42rpx;
width: 80px;
} */
\ No newline at end of file
renard-wx/pages/category/category.js
0 → 100644
View file @
854bacf6
var
util
=
require
(
'
../../utils/util.js
'
);
var
api
=
require
(
'
../../config/api.js
'
);
Page
({
data
:
{
navList
:
[],
goodsList
:
[],
id
:
0
,
currentCategory
:
{},
scrollLeft
:
0
,
scrollTop
:
0
,
scrollHeight
:
0
,
page
:
1
,
size
:
100
},
onLoad
:
function
(
options
)
{
// 页面初始化 options为页面跳转所带来的参数
var
that
=
this
;
if
(
options
.
id
)
{
that
.
setData
({
id
:
parseInt
(
options
.
id
)
});
}
wx
.
getSystemInfo
({
success
:
function
(
res
)
{
that
.
setData
({
scrollHeight
:
res
.
windowHeight
});
}
});
this
.
getCategoryInfo
();
},
onPullDownRefresh
()
{
// wx.showNavigationBarLoading() //在标题栏中显示加载
this
.
getCategoryInfo
();
// wx.hideNavigationBarLoading() //完成停止加载
wx
.
stopPullDownRefresh
()
//停止下拉刷新
},
getCategoryInfo
:
function
()
{
let
that
=
this
;
util
.
request
(
api
.
GoodsCategory
,
{
id
:
this
.
data
.
id
})
.
then
(
function
(
res
)
{
if
(
res
.
errno
==
0
)
{
that
.
setData
({
navList
:
res
.
data
.
brotherCategory
,
currentCategory
:
res
.
data
.
currentCategory
});
wx
.
setNavigationBarTitle
({
title
:
res
.
data
.
parentCategory
.
name
})
//nav位置
let
currentIndex
=
0
;
let
navListCount
=
that
.
data
.
navList
.
length
;
for
(
let
i
=
0
;
i
<
navListCount
;
i
++
)
{
currentIndex
+=
1
;
if
(
that
.
data
.
navList
[
i
].
id
==
that
.
data
.
id
)
{
break
;
}
}
if
(
currentIndex
>
navListCount
/
2
&&
navListCount
>
5
)
{
that
.
setData
({
scrollLeft
:
currentIndex
*
60
});
}
that
.
getGoodsList
();
}
else
{
//显示错误信息
}
});
},
onReady
:
function
()
{
// 页面渲染完成
},
onShow
:
function
()
{
// 页面显示
console
.
log
(
1
);
},
onHide
:
function
()
{
// 页面隐藏
},
getGoodsList
:
function
()
{
wx
.
showLoading
({
title
:
'
加载中
'
,
});
setTimeout
(
function
()
{
wx
.
hideLoading
()
},
2000
);
var
that
=
this
;
util
.
request
(
api
.
GoodsList
,
{
categoryId
:
that
.
data
.
currentCategory
.
id
,
page
:
that
.
data
.
page
,
size
:
that
.
data
.
size
})
.
then
(
function
(
res
)
{
that
.
setData
({
goodsList
:
res
.
data
.
goodsList
,
});
wx
.
hideLoading
();
});
},
onUnload
:
function
()
{
// 页面关闭
},
switchCate
:
function
(
event
)
{
if
(
this
.
data
.
id
==
event
.
currentTarget
.
dataset
.
id
)
{
return
false
;
}
var
that
=
this
;
var
clientX
=
event
.
detail
.
x
;
var
currentTarget
=
event
.
currentTarget
;
if
(
clientX
<
60
)
{
that
.
setData
({
scrollLeft
:
currentTarget
.
offsetLeft
-
60
});
}
else
if
(
clientX
>
330
)
{
that
.
setData
({
scrollLeft
:
currentTarget
.
offsetLeft
});
}
this
.
setData
({
id
:
event
.
currentTarget
.
dataset
.
id
});
this
.
getCategoryInfo
();
}
})
\ No newline at end of file
renard-wx/pages/category/category.json
0 → 100644
View file @
854bacf6
{
"usingComponents"
:
{
"goodList"
:
"/components/goodList/goodList"
}
}
\ No newline at end of file
renard-wx/pages/category/category.wxml
0 → 100644
View file @
854bacf6
<view class="container">
<view class="cate-nav">
<scroll-view scroll-x="true" class="cate-nav-body" style="width: 750rpx;" scroll-left="{{scrollLeft}}">
<view wx:for="{{navList}}" class="item {{ id == item.id ? 'active' : ''}}" wx:key="id" data-id="{{item.id}}" data-index="{{index}}" bindtap="switchCate">
<view class="name">{{item.name}}</view>
</view>
</scroll-view>
</view>
<scroll-view scroll-y="true" scroll-top="{{scrollTop}}" style="height:{{scrollHeight}};">
<view class="cate-item">
<view class="h">
<text class="name">{{currentCategory.name}}</text>
<text class="desc">{{currentCategory.frontName}}</text>
</view>
<goodList goods="{{goodsList}}"></goodList>
</view>
</scroll-view>
</view>
\ No newline at end of file
renard-wx/pages/category/category.wxss
0 → 100644
View file @
854bacf6
.container{
background: #fff;
}
.cate-nav{
position: fixed;
left:0;
top:0;
z-index: 1000;
}
.cate-nav-body{
height: 84rpx;
white-space: nowrap;
background: #fff;
border-top: 1px solid rgba(0,0,0,.15);
overflow: hidden;
}
.cate-nav .item{
display: inline-block;
height: 84rpx;
min-width: 130rpx;
padding: 0 15rpx;
}
.cate-nav .item .name{
display: block;
height: 84rpx;
padding: 0 20rpx;
line-height: 84rpx;
color: #333;
font-size: 30rpx;
width: auto;
}
.cate-nav .item.active .name{
color: #a78845;
border-bottom: 2px solid #a78845;
}
.cate-item{
margin-top: 94rpx;
height: auto;
overflow: hidden;
}
.cate-item .h{
height: 145rpx;
width: 750rpx;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
}
.cate-item .h .name{
display: block;
height: 35rpx;
margin-bottom: 18rpx;
font-size: 30rpx;
color: #333;
}
.cate-item .h .desc{
display: block;
height: 24rpx;
font-size: 24rpx;
color: #999;
}
\ No newline at end of file
Prev
1
2
3
4
5
6
7
8
9
…
12
Next
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment