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
20b97ec8
Commit
20b97ec8
authored
Nov 16, 2018
by
Junling Bu
Browse files
chore[litemall-wx]: 使用微信开发者工具的格式化代码
parent
822d5075
Changes
102
Hide whitespace changes
Inline
Side-by-side
litemall-wx/app.js
View file @
20b97ec8
...
...
@@ -3,13 +3,13 @@ var api = require('./config/api.js');
var
user
=
require
(
'
./utils/user.js
'
);
App
({
onLaunch
:
function
()
{
onLaunch
:
function
()
{
const
updateManager
=
wx
.
getUpdateManager
();
wx
.
getUpdateManager
().
onUpdateReady
(
function
()
{
wx
.
getUpdateManager
().
onUpdateReady
(
function
()
{
wx
.
showModal
({
title
:
'
更新提示
'
,
content
:
'
新版本已经准备好,是否重启应用?
'
,
success
:
function
(
res
)
{
success
:
function
(
res
)
{
if
(
res
.
confirm
)
{
// 新的版本已经下载好,调用 applyUpdate 应用新版本并重启
updateManager
.
applyUpdate
()
...
...
@@ -18,7 +18,7 @@ App({
})
})
},
onShow
:
function
(
options
)
{
onShow
:
function
(
options
)
{
user
.
checkLogin
().
then
(
res
=>
{
this
.
globalData
.
hasLogin
=
true
;
}).
catch
(()
=>
{
...
...
litemall-wx/app.json
View file @
20b97ec8
{
"pages"
:
[
"pages/index/index"
,
"pages/catalog/catalog"
,
"pages/newGoods/newGoods"
,
"pages/hotGoods/hotGoods"
,
"pages/ucenter/index/index"
,
"pages/ucenter/address/address"
,
"pages/ucenter/addressAdd/addressAdd"
,
"pages/ucenter/feedback/feedback"
,
"pages/ucenter/footprint/footprint"
,
"pages/ucenter/order/order"
,
"pages/ucenter/orderDetail/orderDetail"
,
"pages/ucenter/coupon/coupon"
,
"pages/ucenter/collect/collect"
,
"pages/auth/login/login"
,
"pages/auth/accountLogin/accountLogin"
,
"pages/auth/register/register"
,
"pages/auth/reset/reset"
,
"pages/payResult/payResult"
,
"pages/comment/comment"
,
"pages/commentPost/commentPost"
,
"pages/topic/topic"
,
"pages/topicComment/topicComment"
,
"pages/topicDetail/topicDetail"
,
"pages/topicCommentPost/topicCommentPost"
,
"pages/brand/brand"
,
"pages/brandDetail/brandDetail"
,
"pages/search/search"
,
"pages/category/category"
,
"pages/cart/cart"
,
"pages/checkout/checkout"
,
"pages/goods/goods"
,
"pages/about/about"
,
"pages/groupon/myGroupon/myGroupon"
,
"pages/groupon/grouponDetail/grouponDetail"
,
"pages/groupon/grouponList/grouponList"
],
"window"
:
{
"navigationBarBackgroundColor"
:
"#FFFFFF"
,
"navigationBarTitleText"
:
"litemall小程序商城"
,
"enablePullDownRefresh"
:
true
,
"navigationBarTextStyle"
:
"black"
,
"backgroundColor"
:
"#FFFFFF"
,
"backgroundTextStyle"
:
"dark"
},
"tabBar"
:
{
"backgroundColor"
:
"#fafafa"
,
"borderStyle"
:
"white"
,
"selectedColor"
:
"#AB956D"
,
"color"
:
"#666"
,
"list"
:
[
{
"pagePath"
:
"pages/index/index"
,
"iconPath"
:
"static/images/home.png"
,
"selectedIconPath"
:
"static/images/home@selected.png"
,
"text"
:
"首页"
},
{
"pagePath"
:
"pages/catalog/catalog"
,
"iconPath"
:
"static/images/category.png"
,
"selectedIconPath"
:
"static/images/category@selected.png"
,
"text"
:
"分类"
},
{
"pagePath"
:
"pages/cart/cart"
,
"iconPath"
:
"static/images/cart.png"
,
"selectedIconPath"
:
"static/images/cart@selected.png"
,
"text"
:
"购物车"
},
{
"pagePath"
:
"pages/ucenter/index/index"
,
"iconPath"
:
"static/images/my.png"
,
"selectedIconPath"
:
"static/images/my@selected.png"
,
"text"
:
"个人"
}
]
},
"networkTimeout"
:
{
"request"
:
10000
,
"connectSocket"
:
10000
,
"uploadFile"
:
10000
,
"downloadFile"
:
10000
},
"debug"
:
true
"pages"
:
[
"pages/index/index"
,
"pages/catalog/catalog"
,
"pages/newGoods/newGoods"
,
"pages/hotGoods/hotGoods"
,
"pages/ucenter/index/index"
,
"pages/ucenter/address/address"
,
"pages/ucenter/addressAdd/addressAdd"
,
"pages/ucenter/feedback/feedback"
,
"pages/ucenter/footprint/footprint"
,
"pages/ucenter/order/order"
,
"pages/ucenter/orderDetail/orderDetail"
,
"pages/ucenter/coupon/coupon"
,
"pages/ucenter/collect/collect"
,
"pages/auth/login/login"
,
"pages/auth/accountLogin/accountLogin"
,
"pages/auth/register/register"
,
"pages/auth/reset/reset"
,
"pages/payResult/payResult"
,
"pages/comment/comment"
,
"pages/commentPost/commentPost"
,
"pages/topic/topic"
,
"pages/topicComment/topicComment"
,
"pages/topicDetail/topicDetail"
,
"pages/topicCommentPost/topicCommentPost"
,
"pages/brand/brand"
,
"pages/brandDetail/brandDetail"
,
"pages/search/search"
,
"pages/category/category"
,
"pages/cart/cart"
,
"pages/checkout/checkout"
,
"pages/goods/goods"
,
"pages/about/about"
,
"pages/groupon/myGroupon/myGroupon"
,
"pages/groupon/grouponDetail/grouponDetail"
,
"pages/groupon/grouponList/grouponList"
],
"window"
:
{
"navigationBarBackgroundColor"
:
"#FFFFFF"
,
"navigationBarTitleText"
:
"litemall小程序商城"
,
"enablePullDownRefresh"
:
true
,
"navigationBarTextStyle"
:
"black"
,
"backgroundColor"
:
"#FFFFFF"
,
"backgroundTextStyle"
:
"dark"
},
"tabBar"
:
{
"backgroundColor"
:
"#fafafa"
,
"borderStyle"
:
"white"
,
"selectedColor"
:
"#AB956D"
,
"color"
:
"#666"
,
"list"
:
[
{
"pagePath"
:
"pages/index/index"
,
"iconPath"
:
"static/images/home.png"
,
"selectedIconPath"
:
"static/images/home@selected.png"
,
"text"
:
"首页"
},
{
"pagePath"
:
"pages/catalog/catalog"
,
"iconPath"
:
"static/images/category.png"
,
"selectedIconPath"
:
"static/images/category@selected.png"
,
"text"
:
"分类"
},
{
"pagePath"
:
"pages/cart/cart"
,
"iconPath"
:
"static/images/cart.png"
,
"selectedIconPath"
:
"static/images/cart@selected.png"
,
"text"
:
"购物车"
},
{
"pagePath"
:
"pages/ucenter/index/index"
,
"iconPath"
:
"static/images/my.png"
,
"selectedIconPath"
:
"static/images/my@selected.png"
,
"text"
:
"个人"
}
]
},
"networkTimeout"
:
{
"request"
:
10000
,
"connectSocket"
:
10000
,
"uploadFile"
:
10000
,
"downloadFile"
:
10000
},
"debug"
:
true
}
\ No newline at end of file
litemall-wx/app.wxss
View file @
20b97ec8
/**app.wxss**/
.container {
box-sizing: border-box;
background-color: #f4f4f4;
font-family: PingFangSC-Light,helvetica,'Heiti SC';
}
font-family: PingFangSC-Light,
helvetica,
'Heiti SC';
}
view,image,text,navigator{
view,
image,
text,
navigator
{
box-sizing: border-box;
padding:0;
margin:0;
padding: 0;
margin: 0;
}
view,text{
font-family: PingFangSC-Light,helvetica,'Heiti SC';
view,
text
{
font-family: PingFangSC-Light,
helvetica,
'Heiti SC';
font-size: 29rpx;
color: #333;
}
\ No newline at end of file
}
litemall-wx/config/api.js
View file @
20b97ec8
// 以下是业务服务器API地址
// 本机开发时使用
var
WxApiRoot
=
'
http://localhost:8080/wx/
'
;
var
WxApiRoot
=
'
http://localhost:8080/wx/
'
;
// 局域网测试使用
// var WxApiRoot = 'http://192.168.0.101:8080/wx/';
// 云平台部署时使用
...
...
@@ -9,87 +9,87 @@
// var WxApiRoot = 'https://www.menethil.com.cn/wx/';
module
.
exports
=
{
IndexUrl
:
WxApiRoot
+
'
home/index
'
,
//首页数据接口
CatalogList
:
WxApiRoot
+
'
catalog/index
'
,
//分类目录全部分类数据接口
CatalogCurrent
:
WxApiRoot
+
'
catalog/current
'
,
//分类目录当前分类数据接口
AuthLoginByWeixin
:
WxApiRoot
+
'
auth/login_by_weixin
'
,
//微信登录
AuthLoginByAccount
:
WxApiRoot
+
'
auth/login
'
,
//账号登录
AuthLogout
:
WxApiRoot
+
'
auth/logout
'
,
//账号登出
AuthRegister
:
WxApiRoot
+
'
auth/register
'
,
//账号注册
AuthReset
:
WxApiRoot
+
'
auth/reset
'
,
//账号密码重置
AuthRegisterCaptcha
:
WxApiRoot
+
'
auth/regCaptcha
'
,
//验证码
AuthBindPhone
:
WxApiRoot
+
'
auth/bindPhone
'
,
//绑定微信手机号
GoodsCount
:
WxApiRoot
+
'
goods/count
'
,
//统计商品总数
GoodsList
:
WxApiRoot
+
'
goods/list
'
,
//获得商品列表
GoodsCategory
:
WxApiRoot
+
'
goods/category
'
,
//获得分类数据
GoodsDetail
:
WxApiRoot
+
'
goods/detail
'
,
//获得商品的详情
GoodsNew
:
WxApiRoot
+
'
goods/new
'
,
//新品
GoodsHot
:
WxApiRoot
+
'
goods/hot
'
,
//热门
GoodsRelated
:
WxApiRoot
+
'
goods/related
'
,
//商品详情页的关联商品(大家都在看)
BrandList
:
WxApiRoot
+
'
brand/list
'
,
//品牌列表
BrandDetail
:
WxApiRoot
+
'
brand/detail
'
,
//品牌详情
CartList
:
WxApiRoot
+
'
cart/index
'
,
//获取购物车的数据
CartAdd
:
WxApiRoot
+
'
cart/add
'
,
// 添加商品到购物车
CartFastAdd
:
WxApiRoot
+
'
cart/fastadd
'
,
// 立即购买商品
CartUpdate
:
WxApiRoot
+
'
cart/update
'
,
// 更新购物车的商品
CartDelete
:
WxApiRoot
+
'
cart/delete
'
,
// 删除购物车的商品
CartChecked
:
WxApiRoot
+
'
cart/checked
'
,
// 选择或取消选择商品
CartGoodsCount
:
WxApiRoot
+
'
cart/goodscount
'
,
// 获取购物车商品件数
CartCheckout
:
WxApiRoot
+
'
cart/checkout
'
,
// 下单前信息确认
CollectList
:
WxApiRoot
+
'
collect/list
'
,
//收藏列表
CollectAddOrDelete
:
WxApiRoot
+
'
collect/addordelete
'
,
//添加或取消收藏
CommentList
:
WxApiRoot
+
'
comment/list
'
,
//评论列表
CommentCount
:
WxApiRoot
+
'
comment/count
'
,
//评论总数
CommentPost
:
WxApiRoot
+
'
comment/post
'
,
//发表评论
TopicList
:
WxApiRoot
+
'
topic/list
'
,
//专题列表
TopicDetail
:
WxApiRoot
+
'
topic/detail
'
,
//专题详情
TopicRelated
:
WxApiRoot
+
'
topic/related
'
,
//相关专题
SearchIndex
:
WxApiRoot
+
'
search/index
'
,
//搜索关键字
SearchResult
:
WxApiRoot
+
'
search/result
'
,
//搜索结果
SearchHelper
:
WxApiRoot
+
'
search/helper
'
,
//搜索帮助
SearchClearHistory
:
WxApiRoot
+
'
search/clearhistory
'
,
//搜索历史清楚
AddressList
:
WxApiRoot
+
'
address/list
'
,
//收货地址列表
AddressDetail
:
WxApiRoot
+
'
address/detail
'
,
//收货地址详情
AddressSave
:
WxApiRoot
+
'
address/save
'
,
//保存收货地址
AddressDelete
:
WxApiRoot
+
'
address/delete
'
,
//保存收货地址
ExpressQuery
:
WxApiRoot
+
'
express/query
'
,
//物流查询
RegionList
:
WxApiRoot
+
'
region/list
'
,
//获取区域列表
OrderSubmit
:
WxApiRoot
+
'
order/submit
'
,
// 提交订单
OrderPrepay
:
WxApiRoot
+
'
order/prepay
'
,
// 订单的预支付会话
OrderList
:
WxApiRoot
+
'
order/list
'
,
//订单列表
OrderDetail
:
WxApiRoot
+
'
order/detail
'
,
//订单详情
OrderCancel
:
WxApiRoot
+
'
order/cancel
'
,
//取消订单
OrderRefund
:
WxApiRoot
+
'
order/refund
'
,
//退款取消订单
OrderDelete
:
WxApiRoot
+
'
order/delete
'
,
//删除订单
OrderConfirm
:
WxApiRoot
+
'
order/confirm
'
,
//确认收货
OrderGoods
:
WxApiRoot
+
'
order/goods
'
,
// 代评价商品信息
OrderComment
:
WxApiRoot
+
'
order/comment
'
,
// 评价订单商品信息
FeedbackAdd
:
WxApiRoot
+
'
feedback/submit
'
,
//添加反馈
FootprintList
:
WxApiRoot
+
'
footprint/list
'
,
//足迹列表
FootprintDelete
:
WxApiRoot
+
'
footprint/delete
'
,
//删除足迹
UserFormIdCreate
:
WxApiRoot
+
'
formid/create
'
,
//用户FromId,用于发送模版消息
GroupOnList
:
WxApiRoot
+
'
groupon/list
'
,
//团购列表
GroupOn
:
WxApiRoot
+
'
groupon/query
'
,
//团购API-查询
GroupOnMy
:
WxApiRoot
+
'
groupon/my
'
,
//团购API-我的团购
GroupOnDetail
:
WxApiRoot
+
'
groupon/detail
'
,
//团购API-详情
GroupOnJoin
:
WxApiRoot
+
'
groupon/join
'
,
//团购API-详情
StorageUpload
:
WxApiRoot
+
'
storage/upload
'
,
//图片上传,
UserIndex
:
WxApiRoot
+
'
user/index
'
,
//个人页面用户相关信息
IndexUrl
:
WxApiRoot
+
'
home/index
'
,
//首页数据接口
CatalogList
:
WxApiRoot
+
'
catalog/index
'
,
//分类目录全部分类数据接口
CatalogCurrent
:
WxApiRoot
+
'
catalog/current
'
,
//分类目录当前分类数据接口
AuthLoginByWeixin
:
WxApiRoot
+
'
auth/login_by_weixin
'
,
//微信登录
AuthLoginByAccount
:
WxApiRoot
+
'
auth/login
'
,
//账号登录
AuthLogout
:
WxApiRoot
+
'
auth/logout
'
,
//账号登出
AuthRegister
:
WxApiRoot
+
'
auth/register
'
,
//账号注册
AuthReset
:
WxApiRoot
+
'
auth/reset
'
,
//账号密码重置
AuthRegisterCaptcha
:
WxApiRoot
+
'
auth/regCaptcha
'
,
//验证码
AuthBindPhone
:
WxApiRoot
+
'
auth/bindPhone
'
,
//绑定微信手机号
GoodsCount
:
WxApiRoot
+
'
goods/count
'
,
//统计商品总数
GoodsList
:
WxApiRoot
+
'
goods/list
'
,
//获得商品列表
GoodsCategory
:
WxApiRoot
+
'
goods/category
'
,
//获得分类数据
GoodsDetail
:
WxApiRoot
+
'
goods/detail
'
,
//获得商品的详情
GoodsNew
:
WxApiRoot
+
'
goods/new
'
,
//新品
GoodsHot
:
WxApiRoot
+
'
goods/hot
'
,
//热门
GoodsRelated
:
WxApiRoot
+
'
goods/related
'
,
//商品详情页的关联商品(大家都在看)
BrandList
:
WxApiRoot
+
'
brand/list
'
,
//品牌列表
BrandDetail
:
WxApiRoot
+
'
brand/detail
'
,
//品牌详情
CartList
:
WxApiRoot
+
'
cart/index
'
,
//获取购物车的数据
CartAdd
:
WxApiRoot
+
'
cart/add
'
,
// 添加商品到购物车
CartFastAdd
:
WxApiRoot
+
'
cart/fastadd
'
,
// 立即购买商品
CartUpdate
:
WxApiRoot
+
'
cart/update
'
,
// 更新购物车的商品
CartDelete
:
WxApiRoot
+
'
cart/delete
'
,
// 删除购物车的商品
CartChecked
:
WxApiRoot
+
'
cart/checked
'
,
// 选择或取消选择商品
CartGoodsCount
:
WxApiRoot
+
'
cart/goodscount
'
,
// 获取购物车商品件数
CartCheckout
:
WxApiRoot
+
'
cart/checkout
'
,
// 下单前信息确认
CollectList
:
WxApiRoot
+
'
collect/list
'
,
//收藏列表
CollectAddOrDelete
:
WxApiRoot
+
'
collect/addordelete
'
,
//添加或取消收藏
CommentList
:
WxApiRoot
+
'
comment/list
'
,
//评论列表
CommentCount
:
WxApiRoot
+
'
comment/count
'
,
//评论总数
CommentPost
:
WxApiRoot
+
'
comment/post
'
,
//发表评论
TopicList
:
WxApiRoot
+
'
topic/list
'
,
//专题列表
TopicDetail
:
WxApiRoot
+
'
topic/detail
'
,
//专题详情
TopicRelated
:
WxApiRoot
+
'
topic/related
'
,
//相关专题
SearchIndex
:
WxApiRoot
+
'
search/index
'
,
//搜索关键字
SearchResult
:
WxApiRoot
+
'
search/result
'
,
//搜索结果
SearchHelper
:
WxApiRoot
+
'
search/helper
'
,
//搜索帮助
SearchClearHistory
:
WxApiRoot
+
'
search/clearhistory
'
,
//搜索历史清楚
AddressList
:
WxApiRoot
+
'
address/list
'
,
//收货地址列表
AddressDetail
:
WxApiRoot
+
'
address/detail
'
,
//收货地址详情
AddressSave
:
WxApiRoot
+
'
address/save
'
,
//保存收货地址
AddressDelete
:
WxApiRoot
+
'
address/delete
'
,
//保存收货地址
ExpressQuery
:
WxApiRoot
+
'
express/query
'
,
//物流查询
RegionList
:
WxApiRoot
+
'
region/list
'
,
//获取区域列表
OrderSubmit
:
WxApiRoot
+
'
order/submit
'
,
// 提交订单
OrderPrepay
:
WxApiRoot
+
'
order/prepay
'
,
// 订单的预支付会话
OrderList
:
WxApiRoot
+
'
order/list
'
,
//订单列表
OrderDetail
:
WxApiRoot
+
'
order/detail
'
,
//订单详情
OrderCancel
:
WxApiRoot
+
'
order/cancel
'
,
//取消订单
OrderRefund
:
WxApiRoot
+
'
order/refund
'
,
//退款取消订单
OrderDelete
:
WxApiRoot
+
'
order/delete
'
,
//删除订单
OrderConfirm
:
WxApiRoot
+
'
order/confirm
'
,
//确认收货
OrderGoods
:
WxApiRoot
+
'
order/goods
'
,
// 代评价商品信息
OrderComment
:
WxApiRoot
+
'
order/comment
'
,
// 评价订单商品信息
FeedbackAdd
:
WxApiRoot
+
'
feedback/submit
'
,
//添加反馈
FootprintList
:
WxApiRoot
+
'
footprint/list
'
,
//足迹列表
FootprintDelete
:
WxApiRoot
+
'
footprint/delete
'
,
//删除足迹
UserFormIdCreate
:
WxApiRoot
+
'
formid/create
'
,
//用户FromId,用于发送模版消息
GroupOnList
:
WxApiRoot
+
'
groupon/list
'
,
//团购列表
GroupOn
:
WxApiRoot
+
'
groupon/query
'
,
//团购API-查询
GroupOnMy
:
WxApiRoot
+
'
groupon/my
'
,
//团购API-我的团购
GroupOnDetail
:
WxApiRoot
+
'
groupon/detail
'
,
//团购API-详情
GroupOnJoin
:
WxApiRoot
+
'
groupon/join
'
,
//团购API-详情
StorageUpload
:
WxApiRoot
+
'
storage/upload
'
,
//图片上传,
UserIndex
:
WxApiRoot
+
'
user/index
'
,
//个人页面用户相关信息
};
\ No newline at end of file
litemall-wx/pages/auth/accountLogin/accountLogin.js
View file @
20b97ec8
...
...
@@ -10,26 +10,26 @@ Page({
code
:
''
,
loginErrorCount
:
0
},
onLoad
:
function
(
options
)
{
onLoad
:
function
(
options
)
{
// 页面初始化 options为页面跳转所带来的参数
// 页面渲染完成
},
onReady
:
function
()
{
onReady
:
function
()
{
},
onShow
:
function
()
{
onShow
:
function
()
{
// 页面显示
},
onHide
:
function
()
{
onHide
:
function
()
{
// 页面隐藏
},
onUnload
:
function
()
{
onUnload
:
function
()
{
// 页面关闭
},
accountLogin
:
function
()
{
accountLogin
:
function
()
{
var
that
=
this
;
if
(
this
.
data
.
password
.
length
<
1
||
this
.
data
.
username
.
length
<
1
)
{
...
...
@@ -51,24 +51,23 @@ Page({
header
:
{
'
content-type
'
:
'
application/json
'
},
success
:
function
(
res
)
{
if
(
res
.
data
.
errno
==
0
){
success
:
function
(
res
)
{
if
(
res
.
data
.
errno
==
0
)
{
that
.
setData
({
loginErrorCount
:
0
});
app
.
globalData
.
hasLogin
=
true
;
wx
.
setStorageSync
(
'
userInfo
'
,
res
.
data
.
data
.
userInfo
);
wx
.
setStorage
({
key
:
"
token
"
,
key
:
"
token
"
,
data
:
res
.
data
.
data
.
token
,
success
:
function
(){
success
:
function
()
{
wx
.
switchTab
({
url
:
'
/pages/ucenter/index/index
'
});
}
});
}
else
{
}
else
{
that
.
setData
({
loginErrorCount
:
that
.
data
.
loginErrorCount
+
1
});
...
...
@@ -78,25 +77,25 @@ Page({
}
});
},
bindUsernameInput
:
function
(
e
)
{
bindUsernameInput
:
function
(
e
)
{
this
.
setData
({
username
:
e
.
detail
.
value
});
},
bindPasswordInput
:
function
(
e
)
{
bindPasswordInput
:
function
(
e
)
{
this
.
setData
({
password
:
e
.
detail
.
value
});
},
bindCodeInput
:
function
(
e
)
{
bindCodeInput
:
function
(
e
)
{
this
.
setData
({
code
:
e
.
detail
.
value
});
},
clearInput
:
function
(
e
)
{
clearInput
:
function
(
e
)
{
switch
(
e
.
currentTarget
.
id
)
{
case
'
clear-username
'
:
this
.
setData
({
...
...
litemall-wx/pages/auth/login/login.js
View file @
20b97ec8
...
...
@@ -4,27 +4,27 @@ var user = require('../../../utils/user.js');
var
app
=
getApp
();
Page
({
onLoad
:
function
(
options
)
{
onLoad
:
function
(
options
)
{
// 页面初始化 options为页面跳转所带来的参数
// 页面渲染完成
},
onReady
:
function
()
{
onReady
:
function
()
{
},
onShow
:
function
()
{
onShow
:
function
()
{
// 页面显示
},
onHide
:
function
()
{
onHide
:
function
()
{
// 页面隐藏
},
onUnload
:
function
()
{
onUnload
:
function
()
{
// 页面关闭
},
wxLogin
:
function
(
e
)
{
if
(
e
.
detail
.
userInfo
==
undefined
){
wxLogin
:
function
(
e
)
{
if
(
e
.
detail
.
userInfo
==
undefined
)
{
app
.
globalData
.
hasLogin
=
false
;
util
.
showErrorToast
(
'
微信登录失败
'
);
return
;
...
...
@@ -45,7 +45,9 @@ Page({
});
},
accountLogin
:
function
()
{
wx
.
navigateTo
({
url
:
"
/pages/auth/accountLogin/accountLogin
"
});
accountLogin
:
function
()
{
wx
.
navigateTo
({
url
:
"
/pages/auth/accountLogin/accountLogin
"
});
}
})
\ No newline at end of file
litemall-wx/pages/auth/login/login.wxml
View file @
20b97ec8
<view class="container">
<view class="login-box">
<view class="login-box">
<button type="primary" open-type="getUserInfo" class="wx-login-btn" bindgetuserinfo="wxLogin">微信直接登录</button>
<button type="primary" class="account-login-btn" bindtap="accountLogin">账号登录</button>
</view>
</view>
</view>
\ No newline at end of file
litemall-wx/pages/auth/register/register.js
View file @
20b97ec8
var
api
=
require
(
'
../../../config/api.js
'
);
var
check
=
require
(
'
../../../utils/check.js
'
);
...
...
@@ -11,27 +10,27 @@ Page({
mobile
:
''
,
code
:
''
},
onLoad
:
function
(
options
)
{
onLoad
:
function
(
options
)
{
// 页面初始化 options为页面跳转所带来的参数
// 页面渲染完成
},
onReady
:
function
()
{
onReady
:
function
()
{
},
onShow
:
function
()
{
onShow
:
function
()
{
// 页面显示
},
onHide
:
function
()
{
onHide
:
function
()
{
// 页面隐藏
},
onUnload
:
function
()
{
onUnload
:
function
()
{
// 页面关闭
},
sendCode
:
function
()
{
sendCode
:
function
()
{
let
that
=
this
;
if
(
this
.
data
.
mobile
.
length
==
0
)
{
...
...
@@ -61,15 +60,14 @@ Page({
header
:
{
'
content-type
'
:
'
application/json
'
},
success
:
function
(
res
)
{
success
:
function
(
res
)
{
if
(
res
.
data
.
errno
==
0
)
{
wx
.
showModal
({
title
:
'
发送成功
'
,
content
:
'
验证码已发送
'
,
showCancel
:
false
});
}
else
{
}
else
{
wx
.
showModal
({
title
:
'
错误信息
'
,
content
:
res
.
data
.
errmsg
,
...
...
@@ -79,7 +77,7 @@ Page({
}
});
},
requestRegister
:
function
(
wxCode
)
{
requestRegister
:
function
(
wxCode
)
{
let
that
=
this
;
wx
.
request
({
url
:
api
.
AuthRegister
,
...
...
@@ -94,21 +92,20 @@ Page({
header
:
{
'
content-type
'
:
'
application/json
'
},
success
:
function
(
res
)
{
success
:
function
(
res
)
{
if
(
res
.
data
.
errno
==
0
)
{
app
.
globalData
.
hasLogin
=
true
;
wx
.
setStorageSync
(
'
userInfo
'
,
res
.
data
.
data
.
userInfo
);
wx
.
setStorage
({
key
:
"
token
"
,
data
:
res
.
data
.
data
.
token
,
success
:
function
()
{
success
:
function
()
{
wx
.
switchTab
({
url
:
'
/pages/ucenter/index/index
'
});
}
});
}
else
{
}
else
{
wx
.
showModal
({
title
:
'
错误信息
'
,
content
:
res
.
data
.
errmsg
,
...
...
@@ -118,7 +115,7 @@ Page({
}
});
},
startRegister
:
function
()
{
startRegister
:
function
()
{
var
that
=
this
;
if
(
this
.
data
.
password
.
length
<
6
||
this
.
data
.
username
.
length
<
6
)
{
...
...
@@ -156,9 +153,9 @@ Page({
});
return
false
;
}
wx
.
login
({
success
:
function
(
res
)
{
success
:
function
(
res
)
{
if
(
!
res
.
code
)
{
wx
.
showModal
({
title
:
'
错误信息
'
,
...
...
@@ -171,37 +168,37 @@ Page({
}
});
},
bindUsernameInput
:
function
(
e
)
{
bindUsernameInput
:
function
(
e
)
{
this
.
setData
({
username
:
e
.
detail
.
value
});
},
bindPasswordInput
:
function
(
e
)
{
bindPasswordInput
:
function
(
e
)
{
this
.
setData
({
password
:
e
.
detail
.
value
});
},
bindConfirmPasswordInput
:
function
(
e
)
{
bindConfirmPasswordInput
:
function
(
e
)
{
this
.
setData
({
confirmPassword
:
e
.
detail
.
value
});
},
bindMobileInput
:
function
(
e
)
{
bindMobileInput
:
function
(
e
)
{
this
.
setData
({
mobile
:
e
.
detail
.
value
});
},
bindCodeInput
:
function
(
e
)
{
bindCodeInput
:
function
(
e
)
{
this
.
setData
({
code
:
e
.
detail
.
value
});
},
clearInput
:
function
(
e
)
{
clearInput
:
function
(
e
)
{
switch
(
e
.
currentTarget
.
id
)
{
case
'
clear-username
'
:
this
.
setData
({
...
...
@@ -222,7 +219,7 @@ Page({
this
.
setData
({
mobile
:
''
});
break
;
break
;
case
'
clear-code
'
:
this
.
setData
({
code
:
''
...
...
litemall-wx/pages/auth/register/register.wxml
View file @
20b97ec8
<view class="container">
<view class="form-box">
<view class="form-box">
<view class="form-item">
<input class="username" value="{{username}}" bindinput="bindUsernameInput" placeholder="用户名" auto-focus/>
<image wx:if="{{ username.length > 0 }}" id="clear-username" class="clear" src="/static/images/clear_input.png" catchtap="clearInput"></image>
</view>
<view class="form-item">
<input class="username" value="{{username}}" bindinput="bindUsernameInput" placeholder="用户名" auto-focus/>
<image wx:if="{{ username.length > 0 }}" id="clear-username" class="clear" src="/static/images/clear_input.png" catchtap="clearInput"></image>
</view>
<view class="form-item">
<input class="password" value="{{password}}" password bindinput="bindPasswordInput" placeholder="密码"/>
<image class="clear" id="clear-password" wx:if="{{ password.length > 0 }}" src="/static/images/clear_input.png" catchtap="clearInput"></image>
</view>
<view class="form-item">
<input class="password" value="{{password}}" password bindinput="bindPasswordInput" placeholder="密码"
/>
<image class="clear" id="clear-password" wx:if="{{ password.length > 0 }}" src="/static/images/clear_input.png" catchtap="clearInput"></image>
</view>
<view class="form-item">
<input class="password" value="{{confirmPassword}}" password bindinput="bindConfirmPasswordInput" placeholder="确认密码"/>
<image class="clear" id="clear-confirm-password" wx:if="{{ confirmPassword.length > 0 }}" src="/static/images/clear_input.png" catchtap="clearInput"></image>
</view>
<view class="form-item">
<input class="password" value="{{confirmPassword}}" password bindinput="bindConfirmPasswordInput" placeholder="确认密码"
/>
<image class="clear" id="clear-confirm-password" wx:if="{{ confirmPassword.length > 0 }}" src="/static/images/clear_input.png" catchtap="clearInput"></image>
</view>
<view class="form-item">
<input class="mobile" value="{{mobile}}" bindinput="bindMobileInput" placeholder="手机号" />
<image wx:if="{{ mobile.length > 0 }}" id="clear-mobile" class="clear" src="/static/images/clear_input.png" catchtap="clearInput"></image>
<image wx:if="{{ mobile.length > 0 }}" id="clear-mobile" class="clear" src="/static/images/clear_input.png" catchtap="clearInput"></image>
</view>
<view class="form-item-code" >
<view class="form-item code-item">
<input class="code" value="{{code}}" bindinput="bindCodeInput" placeholder="验证码"/>
<image class="clear" id="clear-code" wx:if="{{ code.length > 0 }}" src="/static/images/clear_input.png" catchtap="clearInput"></image>
</view>
<view class="code-btn" bindtap="sendCode">获取验证码</view>
</view>
<button type="primary" class="register-btn" bindtap="startRegister">注册</button>
<view class="form-item-code">
<view class="form-item code-item">
<input class="code" value="{{code}}" bindinput="bindCodeInput" placeholder="验证码" />
<image class="clear" id="clear-code" wx:if="{{ code.length > 0 }}" src="/static/images/clear_input.png" catchtap="clearInput"></image>
</view>
<view class="code-btn" bindtap="sendCode">获取验证码</view>
</view>
<button type="primary" class="register-btn" bindtap="startRegister">注册</button>
</view>
</view>
\ No newline at end of file
litemall-wx/pages/auth/register/register.wxss
View file @
20b97ec8
.form-box{
width: 100%;
height: auto;
overflow: hidden;
padding: 0 40rpx;
margin-top: 96rpx;
background: #fff;
.form-box
{
width: 100%;
height: auto;
overflow: hidden;
padding: 0 40rpx;
margin-top: 96rpx;
background: #fff;
}
.form-item{
position: relative;
background: #fff;
height: 96rpx;
border-bottom: 1px solid #d9d9d9;
.form-item
{
position: relative;
background: #fff;
height: 96rpx;
border-bottom: 1px solid #d9d9d9;
}
.form-item .username, .form-item .password, .form-item .mobile, .form-item .code{
position: absolute;
top: 26rpx;
left: 0;
display: block;
width: 100%;
height: 44rpx;
background: #fff;
color: #333;
font-size: 30rpx;
.form-item .username, .form-item .password, .form-item .mobile, .form-item .code
{
position: absolute;
top: 26rpx;
left: 0;
display: block;
width: 100%;
height: 44rpx;
background: #fff;
color: #333;
font-size: 30rpx;
}
.form-item-code{
margin-top:32rpx;
height: auto;
overflow: hidden;
width: 100%;
.form-item-code
{
margin-top:
32rpx;
height: auto;
overflow: hidden;
width: 100%;
}
.form-item-code .form-item{
float: left;
width: 350rpx;
.form-item-code .form-item
{
float: left;
width: 350rpx;
}
.form-item-code .code-btn{
float: right;
padding: 20rpx 40rpx;
border: 1px solid #d9d9d9;
border-radius: 10rpx;
color: #fff;
background: green;
.form-item-code .code-btn
{
float: right;
padding: 20rpx 40rpx;
border: 1px solid #d9d9d9;
border-radius: 10rpx;
color: #fff;
background: green;
}
.form-item .clear{
position: absolute;
top: 26rpx;
right: 18rpx;
z-index: 2;
display: block;
background: #fff;
height: 44rpx;
width: 44rpx;
.form-item .clear
{
position: absolute;
top: 26rpx;
right: 18rpx;
z-index: 2;
display: block;
background: #fff;
height: 44rpx;
width: 44rpx;
}
.register-btn{
margin: 60rpx 0 40rpx 0;
height: 96rpx;
line-height: 96rpx;
color: #fff;
font-size: 30rpx;
width: 100%;
border-radius: 6rpx;
}
\ No newline at end of file
.register-btn {
margin: 60rpx 0 40rpx 0;
height: 96rpx;
line-height: 96rpx;
color: #fff;
font-size: 30rpx;
width: 100%;
border-radius: 6rpx;
}
litemall-wx/pages/auth/reset/reset.js
View file @
20b97ec8
...
...
@@ -9,28 +9,28 @@ Page({
password
:
''
,
confirmPassword
:
''
},
onLoad
:
function
(
options
)
{
onLoad
:
function
(
options
)
{
// 页面初始化 options为页面跳转所带来的参数
// 页面渲染完成
},
onReady
:
function
()
{
onReady
:
function
()
{
},
onShow
:
function
()
{
onShow
:
function
()
{
// 页面显示
},
onHide
:
function
()
{
onHide
:
function
()
{
// 页面隐藏
},
onUnload
:
function
()
{
onUnload
:
function
()
{
// 页面关闭
},
sendCode
:
function
()
{
sendCode
:
function
()
{
let
that
=
this
;
wx
.
request
({
url
:
api
.
AuthRegisterCaptcha
,
...
...
@@ -41,15 +41,14 @@ Page({
header
:
{
'
content-type
'
:
'
application/json
'
},
success
:
function
(
res
)
{
success
:
function
(
res
)
{
if
(
res
.
data
.
errno
==
0
)
{
wx
.
showModal
({
title
:
'
发送成功
'
,
content
:
'
验证码已发送
'
,
showCancel
:
false
});
}
else
{
}
else
{
wx
.
showModal
({
title
:
'
错误信息
'
,
content
:
res
.
data
.
errmsg
,
...
...
@@ -59,7 +58,7 @@ Page({
}
});
},
startReset
:
function
(){
startReset
:
function
()
{
var
that
=
this
;
if
(
this
.
data
.
mobile
.
length
==
0
||
this
.
data
.
code
.
length
==
0
)
{
...
...
@@ -109,11 +108,10 @@ Page({
header
:
{
'
content-type
'
:
'
application/json
'
},
success
:
function
(
res
)
{
success
:
function
(
res
)
{
if
(
res
.
data
.
errno
==
0
)
{
wx
.
navigateBack
();
}
else
{
}
else
{
wx
.
showModal
({
title
:
'
密码重置失败
'
,
content
:
res
.
data
.
errmsg
,
...
...
@@ -123,32 +121,32 @@ Page({
}
});
},
bindPasswordInput
:
function
(
e
)
{
bindPasswordInput
:
function
(
e
)
{
this
.
setData
({
password
:
e
.
detail
.
value
});
},
bindConfirmPasswordInput
:
function
(
e
)
{
bindConfirmPasswordInput
:
function
(
e
)
{
this
.
setData
({
confirmPassword
:
e
.
detail
.
value
});
},
bindMobileInput
:
function
(
e
)
{
bindMobileInput
:
function
(
e
)
{
this
.
setData
({
mobile
:
e
.
detail
.
value
});
},
bindCodeInput
:
function
(
e
){
bindCodeInput
:
function
(
e
)
{
this
.
setData
({
code
:
e
.
detail
.
value
});
},
clearInput
:
function
(
e
){
switch
(
e
.
currentTarget
.
id
){
clearInput
:
function
(
e
)
{
switch
(
e
.
currentTarget
.
id
)
{
case
'
clear-password
'
:
this
.
setData
({
password
:
''
...
...
litemall-wx/pages/auth/reset/reset.wxss
View file @
20b97ec8
.form-box{
width: 100%;
height: auto;
overflow: hidden;
padding: 0 40rpx;
margin-top: 96rpx;
background: #fff;
.form-box
{
width: 100%;
height: auto;
overflow: hidden;
padding: 0 40rpx;
margin-top: 96rpx;
background: #fff;
}
.form-item{
position: relative;
background: #fff;
height: 96rpx;
border-bottom: 1px solid #d9d9d9;
.form-item
{
position: relative;
background: #fff;
height: 96rpx;
border-bottom: 1px solid #d9d9d9;
}
.form-item .mobile, .form-item .password, .form-item .code{
position: absolute;
top: 26rpx;
left: 0;
display: block;
width: 100%;
height: 44rpx;
background: #fff;
color: #333;
font-size: 30rpx;
.form-item .mobile, .form-item .password, .form-item .code
{
position: absolute;
top: 26rpx;
left: 0;
display: block;
width: 100%;
height: 44rpx;
background: #fff;
color: #333;
font-size: 30rpx;
}
.form-item-code{
margin-top:32rpx;
height: auto;
overflow: hidden;
width: 100%;
.form-item-code
{
margin-top:
32rpx;
height: auto;
overflow: hidden;
width: 100%;
}
.form-item-code .form-item{
float: left;
width: 350rpx;
.form-item-code .form-item
{
float: left;
width: 350rpx;
}
.form-item-code .code-btn{
float: right;
padding: 20rpx 40rpx;
border: 1px solid #d9d9d9;
border-radius: 10rpx;
.form-item-code .code-btn
{
float: right;
padding: 20rpx 40rpx;
border: 1px solid #d9d9d9;
border-radius: 10rpx;
}
.form-item .clear{
position: absolute;
top: 26rpx;
right: 18rpx;
z-index: 2;
display: block;
background: #fff;
height: 44rpx;
width: 44rpx;
.form-item .clear
{
position: absolute;
top: 26rpx;
right: 18rpx;
z-index: 2;
display: block;
background: #fff;
height: 44rpx;
width: 44rpx;
}
.reset-btn{
margin: 60rpx 0 40rpx 0;
height: 96rpx;
line-height: 96rpx;
color: #fff;
font-size: 30rpx;
width: 100%;
background: #b4282d;
border-radius: 6rpx;
}
\ No newline at end of file
.reset-btn {
margin: 60rpx 0 40rpx 0;
height: 96rpx;
line-height: 96rpx;
color: #fff;
font-size: 30rpx;
width: 100%;
background: #b4282d;
border-radius: 6rpx;
}
litemall-wx/pages/brand/brand.js
View file @
20b97ec8
...
...
@@ -8,16 +8,19 @@ Page({
size
:
10
,
totalPages
:
1
},
onLoad
:
function
(
options
)
{
onLoad
:
function
(
options
)
{
// 页面初始化 options为页面跳转所带来的参数
this
.
getBrandList
();
},
getBrandList
:
function
()
{
getBrandList
:
function
()
{
wx
.
showLoading
({
title
:
'
加载中...
'
,
});
let
that
=
this
;
util
.
request
(
api
.
BrandList
,
{
page
:
that
.
data
.
page
,
size
:
that
.
data
.
size
}).
then
(
function
(
res
)
{
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
),
...
...
@@ -27,7 +30,7 @@ Page({
wx
.
hideLoading
();
});
},
onReachBottom
(){
onReachBottom
()
{
if
(
this
.
data
.
totalPages
>
this
.
data
.
page
)
{
this
.
setData
({
page
:
this
.
data
.
page
+
1
...
...
@@ -38,18 +41,18 @@ Page({
this
.
getBrandList
();
},
onReady
:
function
()
{
onReady
:
function
()
{
},
onShow
:
function
()
{
onShow
:
function
()
{
// 页面显示
},
onHide
:
function
()
{
onHide
:
function
()
{
// 页面隐藏
},
onUnload
:
function
()
{
onUnload
:
function
()
{
// 页面关闭
}
...
...
litemall-wx/pages/brand/brand.wxml
View file @
20b97ec8
<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>
<text class="s">|</text>
<text class="price">{{item.floorPrice}}元起</text>
</view>
</view>
</navigator
>
</view>
<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>
<text class="s">|</text>
<text class="price">{{item.floorPrice}}元起</text>
</view>
</view>
</navigator>
</view>
</view>
\ No newline at end of file
litemall-wx/pages/brand/brand.wxss
View file @
20b97ec8
.brand-list .item{
display: block;
width: 750rpx;
height: 416rpx;
position: relative;
margin-bottom: 4rpx;
.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
{
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 .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 .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
{
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 text
{
font-size: 35rpx;
font-weight: 700;
text-shadow: 1rpx 1rpx rgba(0,
0,
0,
0
.32);
color: #fff;
}
.brand-list .item .line .s{
padding: 0 10rpx;
font-size: 40rpx;
}
\ No newline at end of file
.brand-list .item .line .s {
padding: 0 10rpx;
font-size: 40rpx;
}
litemall-wx/pages/brandDetail/brandDetail.js
View file @
20b97ec8
...
...
@@ -12,7 +12,7 @@ Page({
page
:
1
,
size
:
100
},
onLoad
:
function
(
options
)
{
onLoad
:
function
(
options
)
{
// 页面初始化 options为页面跳转所带来的参数
var
that
=
this
;
that
.
setData
({
...
...
@@ -20,9 +20,11 @@ Page({
});
this
.
getBrand
();
},
getBrand
:
function
()
{
getBrand
:
function
()
{
let
that
=
this
;
util
.
request
(
api
.
BrandDetail
,
{
id
:
that
.
data
.
id
}).
then
(
function
(
res
)
{
util
.
request
(
api
.
BrandDetail
,
{
id
:
that
.
data
.
id
}).
then
(
function
(
res
)
{
if
(
res
.
errno
===
0
)
{
that
.
setData
({
brand
:
res
.
data
.
brand
...
...
@@ -35,8 +37,12 @@ Page({
getGoodsList
()
{
var
that
=
this
;
util
.
request
(
api
.
GoodsList
,
{
brandId
:
that
.
data
.
id
,
page
:
that
.
data
.
page
,
size
:
that
.
data
.
size
})
.
then
(
function
(
res
)
{
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
...
...
@@ -44,19 +50,19 @@ Page({
}
});
},
onReady
:
function
()
{
onReady
:
function
()
{
// 页面渲染完成
},
onShow
:
function
()
{
onShow
:
function
()
{
// 页面显示
},
onHide
:
function
()
{
onHide
:
function
()
{
// 页面隐藏
},
onUnload
:
function
()
{
onUnload
:
function
()
{
// 页面关闭
}
...
...
litemall-wx/pages/brandDetail/brandDetail.wxml
View file @
20b97ec8
<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 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">
<view class="b">
<block wx:for="{{goodsList}}" wx:key="id" wx:for-index="iindex" wx:for-item="iitem">
<navigator class="item {{iindex % 2 == 0 ? 'item-b' : ''}}" url="../goods/goods?id={{iitem.id}}">
<image class="img" src="{{iitem.picUrl}}" background-size="cover"></image>
<text class="name">{{iitem.name}}</text>
<text class="price">¥{{iitem.retailPrice}}</text>
</navigator>
</block>
</view>
<view class="cate-item">
<view class="b">
<block wx:for="{{goodsList}}" wx:key="id" wx:for-index="iindex" wx:for-item="iitem">
<navigator class="item {{iindex % 2 == 0 ? 'item-b' : ''}}" url="../goods/goods?id={{iitem.id}}">
<image class="img" src="{{iitem.picUrl}}" background-size="cover"></image>
<text class="name">{{iitem.name}}</text>
<text class="price">¥{{iitem.retailPrice}}</text>
</navigator>
</block>
</view>
</view>
</view>
\ No newline at end of file
litemall-wx/pages/brandDetail/brandDetail.wxss
View file @
20b97ec8
page{
background: #f4f4f4;
page
{
background: #f4f4f4;
}
.brand-info .name{
width: 100%;
height: 290rpx;
position: relative;
.brand-info .name {
width: 100%;
height: 290rpx;
position: relative;
}
.brand-info .img{
position: absolute;
top:0;
left:0;
width: 100%;
height: 290rpx;
.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-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 .info
{
display: block;
}
.brand-info .txt{
display: block;
height: 37.5rpx;
font-size: 37.5rpx;
color: #fff;
.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 .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;
.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;
}
.cate-item .b{
.cate-item .b
{
width: 750rpx;
height: auto;
overflow: hidden;
...
...
@@ -67,7 +68,7 @@ page{
margin-top: 20rpx;
}
.cate-item .b .item{
.cate-item .b .item
{
float: left;
background: #fff;
width: 375rpx;
...
...
@@ -78,17 +79,17 @@ page{
text-align: center;
}
.cate-item .b .item-b{
border-right: 1rpx solid #f4f4f4;
.cate-item .b .item-b
{
border-right: 1rpx solid #f4f4f4;
}
.cate-item .item .img{
margin-top: 10rpx;
.cate-item .item .img
{
margin-top: 10rpx;
width: 302rpx;
height: 302rpx;
}
.cate-item .item .name{
.cate-item .item .name
{
display: block;
width: 365.625rpx;
height: 35rpx;
...
...
@@ -100,11 +101,11 @@ page{
color: #333;
}
.cate-item .item .price{
.cate-item .item .price
{
display: block;
width: 365.625rpx;
height: 30rpx;
text-align: center;
font-size: 30rpx;
color: #b4282d;
}
\ No newline at end of file
}
litemall-wx/pages/cart/cart.js
View file @
20b97ec8
...
...
@@ -5,299 +5,299 @@ var user = require('../../utils/user.js');
var
app
=
getApp
();
Page
({
data
:
{
cartGoods
:
[],
cartTotal
:
{
"
goodsCount
"
:
0
,
"
goodsAmount
"
:
0.00
,
"
checkedGoodsCount
"
:
0
,
"
checkedGoodsAmount
"
:
0.00
data
:
{
cartGoods
:
[],
cartTotal
:
{
"
goodsCount
"
:
0
,
"
goodsAmount
"
:
0.00
,
"
checkedGoodsCount
"
:
0
,
"
checkedGoodsAmount
"
:
0.00
},
isEditCart
:
false
,
checkedAllStatus
:
true
,
editCartList
:
[],
hasLogin
:
false
},
isEditCart
:
false
,
checkedAllStatus
:
true
,
editCartList
:
[],
hasLogin
:
false
},
onLoad
:
function
(
options
)
{
// 页面初始化 options为页面跳转所带来的参数
},
onReady
:
function
()
{
// 页面渲染完成
},
onPullDownRefresh
()
{
wx
.
showNavigationBarLoading
()
//在标题栏中显示加载
this
.
getCartList
();
wx
.
hideNavigationBarLoading
()
//完成停止加载
wx
.
stopPullDownRefresh
()
//停止下拉刷新
},
onShow
:
function
()
{
// 页面显示
if
(
app
.
globalData
.
hasLogin
)
{
this
.
getCartList
();
}
this
.
setData
({
hasLogin
:
app
.
globalData
.
hasLogin
});
onLoad
:
function
(
options
)
{
// 页面初始化 options为页面跳转所带来的参数
},
onReady
:
function
()
{
// 页面渲染完成
},
onPullDownRefresh
()
{
wx
.
showNavigationBarLoading
()
//在标题栏中显示加载
this
.
getCartList
();
wx
.
hideNavigationBarLoading
()
//完成停止加载
wx
.
stopPullDownRefresh
()
//停止下拉刷新
},
onShow
:
function
()
{
// 页面显示
if
(
app
.
globalData
.
hasLogin
)
{
this
.
getCartList
();
}
},
onHide
:
function
()
{
// 页面隐藏
},
onUnload
:
function
()
{
// 页面关闭
},
goLogin
()
{
wx
.
navigateTo
({
url
:
"
/pages/auth/login/login
"
});
},
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
this
.
setData
({
hasLogin
:
app
.
globalData
.
hasLogin
});
that
.
setData
({
checkedAllStatus
:
that
.
isCheckedAll
()
},
onHide
:
function
()
{
// 页面隐藏
},
onUnload
:
function
()
{
// 页面关闭
},
goLogin
()
{
wx
.
navigateTo
({
url
:
"
/pages/auth/login/login
"
});
}
});
},
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
});
}
},
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
()
that
.
setData
({
checkedAllStatus
:
that
.
isCheckedAll
()
});
}
});
});
}
else
{
//编辑状态
let
tmpCartData
=
this
.
data
.
cartGoods
.
map
(
function
(
element
,
index
,
array
)
{
if
(
index
==
itemIndex
)
{
element
.
checked
=
!
element
.
checked
;
}
},
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
;
return
element
;
});
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
({
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
;
that
.
setData
({
checkedAllStatus
:
that
.
isCheckedAll
()
});
});
}
else
{
//编辑状态
let
tmpCartData
=
this
.
data
.
cartGoods
.
map
(
function
(
element
,
index
,
array
)
{
if
(
index
==
itemIndex
)
{
element
.
checked
=
!
element
.
checked
;
}
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
});
}
return
element
;
});
that
.
setData
({
checkedAllStatus
:
that
.
isCheckedAll
()
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
;
}
});
});
}
else
{
//编辑状态
let
checkedAllStatus
=
that
.
isCheckedAll
();
let
tmpCartData
=
this
.
data
.
cartGoods
.
map
(
function
(
v
)
{
v
.
checked
=
!
checkedAllStatus
;
return
v
;
});
console
.
log
(
checkedGoodsCount
);
return
checkedGoodsCount
;
},
checkedAll
:
function
()
{
let
that
=
this
;
that
.
setData
({
cartGoods
:
tmpCartData
,
checkedAllStatus
:
that
.
isCheckedAll
(),
'
cartTotal.checkedGoodsCount
'
:
that
.
getCheckedGoodsCount
()
});
}
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
});
}
},
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
()
});
}
that
.
setData
({
checkedAllStatus
:
that
.
isCheckedAll
()
});
});
}
else
{
//编辑状态
let
checkedAllStatus
=
that
.
isCheckedAll
();
let
tmpCartData
=
this
.
data
.
cartGoods
.
map
(
function
(
v
)
{
v
.
checked
=
!
checkedAllStatus
;
return
v
;
});
},
updateCart
:
function
(
productId
,
goodsId
,
number
,
id
)
{
let
that
=
this
;
that
.
setData
({
cartGoods
:
tmpCartData
,
checkedAllStatus
:
that
.
isCheckedAll
(),
'
cartTotal.checkedGoodsCount
'
:
that
.
getCheckedGoodsCount
()
});
}
util
.
request
(
api
.
CartUpdate
,
{
productId
:
productId
,
goodsId
:
goodsId
,
number
:
number
,
id
:
id
},
'
POST
'
).
then
(
function
(
res
)
{
that
.
setData
({
checkedAllStatus
:
that
.
isCheckedAll
()
});
});
},
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
()
});
}
},
cutNumber
:
function
(
event
)
{
},
updateCart
:
function
(
productId
,
goodsId
,
number
,
id
)
{
let
that
=
this
;
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
);
util
.
request
(
api
.
CartUpdate
,
{
productId
:
productId
,
goodsId
:
goodsId
,
number
:
number
,
id
:
id
},
'
POST
'
).
then
(
function
(
res
)
{
that
.
setData
({
checkedAllStatus
:
that
.
isCheckedAll
()
});
});
},
checkoutOrder
:
function
()
{
//获取已选择的商品
let
that
=
this
;
},
cutNumber
:
function
(
event
)
{
var
checkedGoods
=
this
.
data
.
cartGoods
.
filter
(
function
(
element
,
index
,
array
)
{
if
(
element
.
checked
==
true
)
{
return
true
;
}
else
{
return
false
;
}
});
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
);
if
(
checkedGoods
.
length
<=
0
)
{
return
false
;
}
},
checkoutOrder
:
function
()
{
//获取已选择的商品
let
that
=
this
;
// storage中设置了cartId,则是购物车购买
try
{
wx
.
setStorageSync
(
'
cartId
'
,
0
)
;
wx
.
navigateTo
(
{
url
:
'
/pages/checkout/checkout
'
}
)
}
catch
(
e
)
{}
var
checkedGoods
=
this
.
data
.
cartGoods
.
filter
(
function
(
element
,
index
,
array
)
{
if
(
element
.
checked
==
true
)
{
return
true
;
}
else
{
return
false
;
}
});
},
deleteCart
:
function
()
{
//获取已选择的商品
let
that
=
this
;
if
(
checkedGoods
.
length
<=
0
)
{
return
false
;
}
let
productIds
=
this
.
data
.
cartGoods
.
filter
(
function
(
element
,
index
,
array
)
{
if
(
element
.
checked
==
true
)
{
return
true
;
}
else
{
return
false
;
}
}
);
// storage中设置了cartId,则是购物车购买
try
{
wx
.
setStorageSync
(
'
cartId
'
,
0
)
;
wx
.
navigateTo
(
{
url
:
'
/pages/checkout/checkout
'
}
)
}
catch
(
e
)
{}
if
(
productIds
.
length
<=
0
)
{
return
false
;
}
},
deleteCart
:
function
()
{
//获取已选择的商品
let
that
=
this
;
productIds
=
productIds
.
map
(
function
(
element
,
index
,
array
)
{
if
(
element
.
checked
==
true
)
{
return
element
.
productId
;
}
});
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
;
}
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
;
productIds
=
productIds
.
map
(
function
(
element
,
index
,
array
)
{
if
(
element
.
checked
==
true
)
{
return
element
.
productId
;
}
});
that
.
setData
({
cartGoods
:
cartList
,
cartTotal
:
res
.
data
.
cartTotal
});
}
that
.
setData
({
checkedAllStatus
:
that
.
isCheckedAll
()
});
});
}
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
litemall-wx/pages/cart/cart.wxml
View file @
20b97ec8
...
...
@@ -3,7 +3,7 @@
<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 style="background-color:#A9A9A9"
bindtap="goLogin">去登录</button>
<button style="background-color:#A9A9A9" bindtap="goLogin">去登录</button>
</view>
</view>
<view class='login' wx:else>
...
...
Prev
1
2
3
4
5
6
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