diff --git a/app.js b/app.js
index 459ae59..e612c7c 100644
--- a/app.js
+++ b/app.js
@@ -298,34 +298,45 @@ App({
//获取会员门店
get_user_store:function (func)
{
- var th=this;
- //---空会员的情况---
- if(!th.globalData.userInfo){
- return func(null);
- }
- if(!this.globalData.pk_store){
- var pick_id=0;
- //先找一个会员是否有设置默认的地址
- if(th.globalData.userInfo.def_pickup_id){
- pick_id= th.globalData.userInfo.def_pickup_id
- }
- //查找会员的注册的地址
- else if(th.globalData.userInfo.pickup_id){
- pick_id= th.globalData.userInfo.pickup_id
- }
- //---如果会员没有设置默认门店,同时也没有再注册的时候选择门店--
- if(pick_id==0) return func(null);
- //获取用户注册时候的门店
- th.request.get("/api/weshop/pickup/get/"+os.stoid+"/"+this.globalData.userInfo.pickup_id,{
- data:{},
- success:function (res) {
- th.globalData.pk_store=res.data.data;
- func(th.globalData.pk_store);
- }
- })
- }else{
- func(this.globalData.pk_store);
- }
+ var th=this;
+ this.getConfig2(function (conf) {
+ //---空会员的情况---
+ if(!th.globalData.userInfo){
+ return func(null);
+ }
+ if(!th.globalData.pk_store){
+ var pick_id=0;
+ //先找一个会员是否有设置默认的地址
+ if(th.globalData.userInfo.def_pickup_id){
+ pick_id= th.globalData.userInfo.def_pickup_id
+ }
+ //查找会员的注册的地址
+ else if(th.globalData.userInfo.pickup_id){
+ //--购买门店是否默认登记门店--
+ if(conf.switch_list){
+ var t_swi=JSON.parse(conf.switch_list);
+ if(t_swi.is_regstores){
+ pick_id= th.globalData.userInfo.pickup_id
+ }
+ }
+
+ }
+ //---如果会员没有设置默认门店,同时也没有再注册的时候选择门店--
+ if(pick_id==0) return func(null);
+ //获取用户注册时候的门店
+ th.request.get("/api/weshop/pickup/get/"+os.stoid+"/"+pick_id,{
+ data:{},
+ success:function (res) {
+ th.globalData.pk_store=res.data.data;
+ func(th.globalData.pk_store);
+ }
+ })
+ }else{
+ func(th.globalData.pk_store);
+ }
+ })
+
+
},
//-------获取购物车数量----------
diff --git a/app.json b/app.json
index 58e6904..a05e645 100644
--- a/app.json
+++ b/app.json
@@ -69,8 +69,13 @@
"pages/user/user_fw/user_fw",
"pages/user/user_coupon/user_coupon",
"pages/user/grow_value/grow_value",
- "pages/payment/pay_success/pay_success"
+ "pages/payment/pay_success/pay_success",
+ "pages/user/plus/plus",
+ "pages/user/cardinfo/cardinfo",
+ "pages/user/Detailed/Detailed",
+ "pages/user/Change_phone/Change_phone"
+
],
"permission": {
"scope.userLocation": {
diff --git a/app.wxss b/app.wxss
index 352c091..4071e99 100644
--- a/app.wxss
+++ b/app.wxss
@@ -145,6 +145,12 @@ justify-content:flex-start;
align-items:center;
}
.flex{display: flex}
+.ai-center{
+ align-items: center;
+}
+.jc-center{
+ justify-content: center;
+}
/* 水平左对齐 */
.flex-level-left{
display:flex;
@@ -262,29 +268,7 @@ justify-content:space-around;
font-style: normal;
}
-.fs22{
- font-size: 22rpx;
-}
-
-.fs26{
- font-size: 26rpx;
-}
-
-
-.fs30{
- font-size:30rpx;
-}
-
-.fs35{
- font-size:35rpx;
-}
-.fs45{
- font-size: 45rpx;
-}
-.fs50{
- font-size: 50rpx;
-}
/* 7.26 */
@@ -356,19 +340,33 @@ position: fixed;
background: #ffe3e2;
}
-.fs32{
- font-size:32rpx;
-}
-.fs60{ font-size:60rpx;}
-.fs28{
- font-size: 28rpx;
-}
.fs20{
font-size: 20rpx;
}
+.fs22{
+ font-size: 22rpx;
+}
.fs24{
font-size: 24rpx;
}
+
+.fs26{
+ font-size: 26rpx;
+}
+.fs28{
+ font-size: 28rpx;
+}
+
+.fs30{
+ font-size:30rpx;
+}
+.fs32{
+ font-size:32rpx;
+}
+
+.fs35{
+ font-size:35rpx;
+}
.fs36 {
font-size: 36rpx;
}
@@ -378,6 +376,13 @@ background: #ffe3e2;
.ai_end{
align-items: flex-end;
}
+.fs45{
+ font-size: 45rpx;
+}
+.fs50{
+ font-size: 50rpx;
+}
+.fs60{ font-size:60rpx;}
.flex-wrap{
flex-wrap:wrap;
}
\ No newline at end of file
diff --git a/components/diy_picMax/diy_picMax.js b/components/diy_picMax/diy_picMax.js
index f7ad03a..ad9af0e 100644
--- a/components/diy_picMax/diy_picMax.js
+++ b/components/diy_picMax/diy_picMax.js
@@ -14,13 +14,14 @@ Component({
ready: function () {
//console.log(this.data.object.data)
//--计算图片组合占用的高度--
+ /*--
var height=0;
this.properties.object.data.forEach(function (val,ind) {
if(val.fir.x==0){
height+=val.y_span*187;
}
})
- this.setData({pic_height:height})
+ this.setData({pic_height:height})--*/
},
methods: {
diff --git a/components/diy_picMax/diy_picMax.wxml b/components/diy_picMax/diy_picMax.wxml
index b518cc8..8a645cd 100644
--- a/components/diy_picMax/diy_picMax.wxml
+++ b/components/diy_picMax/diy_picMax.wxml
@@ -1,6 +1,7 @@
-
+
+
-
+
diff --git a/components/diy_picMax/diy_picMax.wxss b/components/diy_picMax/diy_picMax.wxss
index e5d053a..170aa45 100644
--- a/components/diy_picMax/diy_picMax.wxss
+++ b/components/diy_picMax/diy_picMax.wxss
@@ -1,8 +1,8 @@
.picMax{width: 100%;position: relative;}
-.pic_item{position: absolute; top:0;left:0;}
+.pic_item{display: inline-block; top:0;left:0;vertical-align: middle}
.pic_item image{width: 100%; height: 100%}
.width_1{width: 187.5rpx}.width_2{width: 375rpx;}.width_3{width: 562.5rpx}.width_4{width:748rpx;}
-.height_1{height: 187.5rpx;}.height_2{height: 375rpx;}.height_3{height: 562.5rpx}.height_4{height: 748rpx;}
-.mar_x1{margin-left:187.5rpx;}.mar_x2{margin-left:375rpx;}.mar_x3{margin-left:562.5rpx}.mar_x4{margin-left: 748rpx;}
-.mar_y1{margin-top: 187.5rpx;}.mar_y2{margin-top: 375rpx;}.mar_y3{margin-top: 562.5rpx}.mar_y4{margin-top: 748rpx;}
+/* .height_1{height: 187.5rpx;}.height_2{height: 375rpx;}.height_3{height: 562.5rpx}.height_4{height: 748rpx;} */
+/* .mar_x1{margin-left:187.5rpx;}.mar_x2{margin-left:375rpx;}.mar_x3{margin-left:562.5rpx}.mar_x4{margin-left: 748rpx;}
+.mar_y1{margin-top: 187.5rpx;}.mar_y2{margin-top: 375rpx;}.mar_y3{margin-top: 562.5rpx}.mar_y4{margin-top: 748rpx;} */
.picMax-clear{clear: both;}
\ No newline at end of file
diff --git a/components/nav_box_card/nav_box.js b/components/nav_box_card/nav_box.js
new file mode 100644
index 0000000..5fcacf6
--- /dev/null
+++ b/components/nav_box_card/nav_box.js
@@ -0,0 +1,29 @@
+var t = getApp(),os =t.globalData.setting;
+Component({
+ properties: {
+ },
+ data: {
+ isopen:0,
+ iurl:os.imghost,
+ },
+
+ ready: function() {
+ },
+ methods: {
+ //--点击打开事件--
+ open_box:function () {
+ this.setData({isopen:1});
+ },
+ //--关闭事件--
+ close_box:function(){
+ this.setData({isopen:0});
+ },
+ //--跳转--
+ goto:function (e) {
+ var url=e.currentTarget.dataset.url;
+ getApp().goto(url);
+ }
+
+ }
+
+})
\ No newline at end of file
diff --git a/components/nav_box_card/nav_box.json b/components/nav_box_card/nav_box.json
new file mode 100644
index 0000000..e8cfaaf
--- /dev/null
+++ b/components/nav_box_card/nav_box.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/components/nav_box_card/nav_box.wxml b/components/nav_box_card/nav_box.wxml
new file mode 100644
index 0000000..52b10ca
--- /dev/null
+++ b/components/nav_box_card/nav_box.wxml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+ 首页
+ 分类
+ 我的
+ ×
+
+
+
diff --git a/components/nav_box_card/nav_box.wxss b/components/nav_box_card/nav_box.wxss
new file mode 100644
index 0000000..8c1de52
--- /dev/null
+++ b/components/nav_box_card/nav_box.wxss
@@ -0,0 +1,70 @@
+.box_main{
+ width:80rpx;
+ height:80rpx;
+ background:#272636;
+ transition:width 0.8s;
+ -moz-transition:width 0.8s; /* Firefox 4 */
+ -webkit-transition:width 0.8s; /* Safari and Chrome */
+ -o-transition:width 0.8s; /* Opera */
+ border-radius:50rpx ;
+ position: fixed;
+ right: 10rpx;
+ bottom:300rpx;
+ overflow: hidden;
+ z-index: 999999
+
+}
+
+.box_isopen{
+ width: 420rpx;
+}
+
+.box_main .dian{
+ text-align: center;
+width: 50rpx;
+height: 50rpx;
+color: #ffff;
+font-size: 50rpx;
+background: none;
+
+}
+
+.box_main .dian image{
+ width: 60rpx;
+height: 20rpx;
+margin: 0rpx 0 0 10rpx;
+margin-bottom: 7rpx;
+
+}
+
+.box_main.box_isopen .dian{
+ display: none;
+}
+
+.box_main .cl_list{
+ display: none;
+}
+
+.box_main.box_isopen .cl_list{
+ display: block;
+ margin-left: 20rpx;
+}
+
+.box_main .cl_list .item{
+ display: inline-block;
+ width:100rpx;
+ height:80rpx;
+ text-align: center;
+ line-height: 80rpx;
+ color: #fff;
+ vertical-align: top;
+ font-size: 32rpx;
+
+}
+
+.box_main .cl_list .item.big{
+ font-size: 70rpx;
+line-height: 70rpx;
+
+}
+
diff --git a/images/add2.png b/images/add2.png
deleted file mode 100644
index a192bb5..0000000
--- a/images/add2.png
+++ /dev/null
diff --git a/images/dpr.png b/images/dpr.png
deleted file mode 100644
index 2752849..0000000
--- a/images/dpr.png
+++ /dev/null
diff --git a/images/medal.png b/images/medal.png
deleted file mode 100644
index 1ba68ee..0000000
--- a/images/medal.png
+++ /dev/null
diff --git a/images/nothingaddress.png b/images/nothingaddress.png
deleted file mode 100644
index 39b0e99..0000000
--- a/images/nothingaddress.png
+++ /dev/null
diff --git a/images/quanyi2.png b/images/quanyi2.png
deleted file mode 100644
index f10f332..0000000
--- a/images/quanyi2.png
+++ /dev/null
diff --git a/images/share/mackground.png b/images/share/mackground.png
new file mode 100644
index 0000000..6bcf62e
--- /dev/null
+++ b/images/share/mackground.png
diff --git a/pages/getphone/getphone.js b/pages/getphone/getphone.js
index bd9b15e..6896cac 100644
--- a/pages/getphone/getphone.js
+++ b/pages/getphone/getphone.js
@@ -4,6 +4,13 @@ Page({
store:null,
imghots: os.imghost,
},
+
+ onLoad: function (options) {
+ //--判断是否有接受到邀请人的ID--
+ if(options.first_leader){
+ this.setData({first_leader:options.first_leader});
+ }
+ },
onShow:function(){
var th=this,app = getApp();
var sessionKey = getApp().globalData.sessionKey;
@@ -16,11 +23,8 @@ Page({
wx.navigateTo({ url: '/pages/togoin/togoin', })
return false;
}
-
var user_info=getApp().globalData.userInfo;
-
console.log("getphone");
- console.log(user_info);
if(user_info!=null && user_info.mobile!=undefined && user_info.mobile!="" && user_info.mobile!=null){
wx.navigateBack({
@@ -72,6 +76,11 @@ Page({
iv: e.iv,
store_id: getApp().globalData.setting.stoid,
};
+ //--如果有邀请人的时候--
+ if(th.data.first_leader){
+ dd.first_leader=th.data.first_leader;
+ }
+
console.log(dd);
app.request.get("/api/weshop/users/thirdLogin", {
data: dd,
diff --git a/pages/goods/categoryList/categoryList.wxml b/pages/goods/categoryList/categoryList.wxml
index a8e3b6d..867df8c 100644
--- a/pages/goods/categoryList/categoryList.wxml
+++ b/pages/goods/categoryList/categoryList.wxml
@@ -52,7 +52,7 @@
-
+
@@ -111,25 +111,25 @@
-
+
-
+
国家
-
+
品牌
-
+
@@ -138,7 +138,7 @@
- {{ittms.items.name}}
+ {{ittms.items.name}}
@@ -152,7 +152,7 @@
-
+
{{ishaf_three==1?good_list.name:classify_name}}
@@ -175,9 +175,8 @@
-
- {{classify_name}}
-
+
+ {{classify_name}}
@@ -199,7 +198,7 @@
-
+
{{classify_name}}
更多
@@ -229,8 +228,8 @@
-
- 上帝是世界第四aaaaaaaaaa{{goods.items.name}}
+
+ {{goods.items.name}}
更多
diff --git a/pages/goods/categoryList/categoryList.wxss b/pages/goods/categoryList/categoryList.wxss
index 03df8f2..479bd8e 100644
--- a/pages/goods/categoryList/categoryList.wxss
+++ b/pages/goods/categoryList/categoryList.wxss
@@ -200,7 +200,7 @@ margin-top: 8rpx;
}
.project_type{
- width: 33%;
+ width: 26%;
height: 100%;
border-right: 1rpx solid #eee;
white-space: nowrap;
@@ -212,15 +212,14 @@ overflow-y: scroll;
margin: auto;
width: 58%;
margin-top: 40rpx;
-overflow: hidden;
-
}
.xc-letter-spacing{
-padding-left: 29rpx;
+padding-left: 20rpx;
padding-right: 29rpx;
-width: 51%;
+width: 58%;
margin: auto;
margin-top: 40rpx;
+margin-left:28rpx;
}
@@ -260,7 +259,7 @@ width: 60%;
}
.classify_content{
- width: 67%
+ width: 72%
}
.classify_content-frame{
@@ -328,7 +327,7 @@ line-height: 65rpx;
height: 160rpx;
}
.brand_img{
- width:200rpx;
+ width:220rpx;
height:86rpx;
margin-bottom: 10rpx;
margin-top: 10rpx;
@@ -389,4 +388,6 @@ margin: auto;
.no_child_lev{width: 100%; text-align: center; color: #adadad; padding-top: 30rpx}
.classify_title {
width: 80%;
-}
\ No newline at end of file
+}
+
+.brand_img_name {color: #666;}
\ No newline at end of file
diff --git a/pages/index/index/index.wxml b/pages/index/index/index.wxml
index fe1c6a8..5045efe 100644
--- a/pages/index/index/index.wxml
+++ b/pages/index/index/index.wxml
@@ -40,7 +40,7 @@
-
+
diff --git a/pages/user/Change_phone/Change_phone.js b/pages/user/Change_phone/Change_phone.js
new file mode 100644
index 0000000..8882266
--- /dev/null
+++ b/pages/user/Change_phone/Change_phone.js
@@ -0,0 +1,213 @@
+var a = getApp(),
+ o = a.globalData,
+ r = a.globalData.setting,
+ t = a.request,
+ s = require("../../../utils/common.js"),
+ util = require("../../../utils/util.js");
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ iurl: r.imghost,
+ inputxphone: 0,
+ mobile: 17359580658, //旧手机号码
+ currentTime: "", //验证码发送倒计时
+ getvcode: "获取验证码",
+ wxopenid: "2",
+ isver: 0, //是否有发送验证码
+ code: "", //验证码
+ url: "", //确认更换手机号码跳转路径
+ change_phone: "", //新手机号码
+ },
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function(options) {
+ this.setData({
+ // mobile: options.mobile,
+ //wxOpneId: options.openid
+ })
+ },
+ //获取手机验证码
+ Ver_phone: function() {
+ var th = this;
+ var mobile = th.data.mobile;
+ var wxopenid = th.data.wxopenid;
+ var change_phone = th.data.change_phone;
+ var isver = th.data.isver;
+ console.log("iiiiiiiiiiiiii" + change_phone + mobile);
+ var myreg = /^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1})|(17[0-9]{1}))+\d{8})$/;
+ if (mobile.length < 11) {
+ getApp().my_warnning("请输入11位的手机号码", 0, th);
+ } else if (!myreg.test(mobile)) {
+ getApp().my_warnning("手机号有误", 0, th);
+ return false;
+ }
+ if (change_phone == mobile) {
+ getApp().my_warnning("新手机号码和旧手机号码不能一样", 0, th);
+ return false;
+ }
+ if (change_phone != "") {
+ mobile = change_phone;
+ }
+ if (isver == 0) {
+ th.setData({
+ isver: 1
+ })
+ } else {
+ return false
+ }
+ getApp().request.post("/api/weshop/smslog/sendsms", {
+ data: {
+ store_id: r.stoid,
+ scene: 1, //发送类型(1短信 2语音)
+ mobile: mobile,
+ wxopenid: wxopenid
+ },
+ success: function(res) {
+ if (res.data.code == 0) {
+ th.setData({
+ isver: 0,
+ getvcode: 60,
+ currentTime: setInterval(th.gettime, 1000),
+ })
+ } else {
+ getApp().my_warnning(res.data.msg, 0, th);
+ th.setData({
+ isver: 0,
+ getvcode: "重新获取"
+ })
+ return false;
+ }
+ }
+ })
+
+ },
+ gettime: function() {
+ var that = this;
+ if (that.data.getvcode == 1) {
+ //清除js定时器
+ clearInterval(that.data.currentTime);
+ that.setData({
+ getvcode: "重新获取",
+ });
+ } else {
+ that.setData({
+ getvcode: --that.data.getvcode,
+ });
+ }
+ },
+ change_phone: function() {
+ var th = this;
+ var code = th.data.code;
+ var mobile = th.data.mobile;
+ if (th.ver_code() == false) return false;
+ getApp().request.put("/api/weshop/users/updateMobile/" + r.stoid + '/' + o.user_id + '/' + code + '/' + mobile, {
+ success: function(res) {
+ if (res.data.code == 0) {
+ getApp().my_warnning("更换成功", 0, th);
+ // th.setData({
+ // url: "/pages/user/userinfo/userinfo?change_phone" + change_phone
+ // })
+ } else {
+ getApp().my_warnning("更换失败", 0, th);
+ return false;
+ }
+ }
+ })
+
+ },
+ //判断验证码是否正确
+ ver_code: function(e) {
+ var th = this;
+ var code = th.data.code,
+ mobile = th.data.mobile,
+ wxopenid = th.data.wxopenid,
+ getvcode = th.data.getvcode,
+ chang_phone = th.data.change_phone;
+ if (code.length < 3 && code == "") {
+ getApp().my_warnning("请输入正确的验证码", 0, th);
+ return false;
+ } else if (getvcode.length<3){
+ getApp().my_warnning("验证超时", 0, th);
+ return false;
+ }else {
+ getApp().request.put("/api/weshop/users/updateMobileFirst/" + r.stoid + '/' + o.user_id + '/' + code, {
+ success: function(res) {
+ if (res.data.code == 0) {
+ th.setData({
+ inputxphone: 1,
+ getvcode: "获取验证码",
+ code: ""
+ })
+ clearInterval(th.data.currentTime);
+ } else {
+ getApp().my_warnning(res.data.msg, 0, th);
+ return false;
+ }
+ }
+ })
+ }
+ },
+ getCodeValue: function(e) {
+ this.setData({
+ code: e.detail.value
+ })
+ },
+ getphoneValue: function(e) {
+ var th = this;
+ th.setData({
+ change_phone: e.detail.value,
+ })
+ },
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function() {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function() {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function() {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function() {
+
+ }
+})
\ No newline at end of file
diff --git a/pages/user/Change_phone/Change_phone.json b/pages/user/Change_phone/Change_phone.json
new file mode 100644
index 0000000..8003812
--- /dev/null
+++ b/pages/user/Change_phone/Change_phone.json
@@ -0,0 +1,6 @@
+{
+ "navigationBarTitleText": "更换手机",
+"usingComponents": {
+ "warn": "/components/long_warn/long_warn"
+}
+}
\ No newline at end of file
diff --git a/pages/user/Change_phone/Change_phone.wxml b/pages/user/Change_phone/Change_phone.wxml
new file mode 100644
index 0000000..96da9ff
--- /dev/null
+++ b/pages/user/Change_phone/Change_phone.wxml
@@ -0,0 +1,60 @@
+
+
+
+
+
+
+
+
+
+
+
+ {{mobile}}
+
+
+
+
+
+
+
+
+
+
+
+
+ {{getvcode}}
+
+
+ {{getvcode}}s
+
+
+
+
+
+
+
+ 温馨提示:
+ 1.更换手机号后下次可使用新手机号登录。
+
+ 2.为保障数据安全,如遇旧手机遗失可联系商家进行解绑。
+
+ 3.收到验证码而非本人操作时请及时更改密码。
+
+
+
+
+
+
+ 下一步
+
+
+
+
+ 确定更换
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/user/Change_phone/Change_phone.wxss b/pages/user/Change_phone/Change_phone.wxss
new file mode 100644
index 0000000..1f435ff
--- /dev/null
+++ b/pages/user/Change_phone/Change_phone.wxss
@@ -0,0 +1,71 @@
+page {
+ height: 100%;
+}
+
+.container {
+ padding: 0rpx 55rpx;
+ border-top: 6rpx solid rgb(245, 245, 245);
+}
+
+.phone_logo {
+ height: 400rpx;
+}
+
+.phone_logo image {
+ width: 145rpx;
+ height: 230rpx;
+}
+
+.phone,.code{
+ border-bottom: 2rpx solid rgb(234, 234, 234);
+ height: 95rpx;
+}
+
+.phone image {
+ width: 60rpx;
+ height: 60rpx;
+}
+
+.phone .inphone {
+ margin-left: 50rpx;
+ color: rgb(153, 153, 153);
+}
+
+.code image {
+ width: 70rpx;
+ height: 60rpx;
+}
+
+.code input {
+ margin-left: 50rpx;
+ color: rgb(153, 153, 153);
+}
+
+.code .Obtain {
+ width: 250rpx;
+ height: 60rpx;
+ border-left: 2rpx solid rgb(234, 234, 234);
+}
+
+.phone, .code, .Tips {
+ padding-left: 30rpx;
+}
+
+.Tips {
+ margin-top: 50rpx;
+ line-height: 50rpx;
+ color: rgb(153, 153, 153);
+}
+
+.go {
+ width: 100%;
+ margin-top: 90rpx;
+}
+
+.lower {
+ width: 430rpx;
+ height: 75rpx;
+ background-color: rgb(214, 1, 33);
+ border-radius: 40rpx;
+ color: rgb(255, 255, 255);
+}
diff --git a/pages/user/Detailed/Detailed.js b/pages/user/Detailed/Detailed.js
new file mode 100644
index 0000000..83a71af
--- /dev/null
+++ b/pages/user/Detailed/Detailed.js
@@ -0,0 +1,443 @@
+var t = getApp(),
+ r = t.globalData,
+ a = t.request,
+ o = t.globalData.setting,
+ os = o,
+ i = require("../../../utils/util.js"),
+ ut = i,
+ s = require("../../../utils/common.js");
+
+Page({
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ url: o.imghost,
+ arrayDetailed: [],//明细数组
+ page: 1,
+ pageSize: 20,
+ isDetailed: 0,
+ total: 0,
+ ismore: 0,//数据是否加载完毕
+ screenWidth:0,
+
+ head_pic:"",//会员头像
+ img_money:"",//缓存VIP的图片
+ img_Ancrown:"",//会员权益
+ img_Identification:"",//缓存标识的图片
+ img_square:"",//缓存方块的图片
+ privilege_o:"",//卡的勋章图
+ bas_ming:"", //卡的图片
+ big_card:null, //最大卡的信息
+
+ imagePath:"", //分享的生成图片
+
+ canvasHidden:true,
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function(options) {
+ var ee=this;
+ var img_money = this.data.url + "/miniapp/images/plus/share/money.png";
+ var img_Ancrown = this.data.url + "/miniapp/images/plus/share/Ancrown.png";
+ var img_Identification = this.data.url + "/miniapp/images/plus/share/Identification.png";
+ var img_square = this.data.url + "/miniapp/images/plus/share/square.png";
+ var privilege_o = this.data.url + "/miniapp/images/plus/share/privilege_o.png";
+ var user=getApp().globalData.userInfo;
+ //--获取用户设备信息,屏幕宽度--
+ wx.getSystemInfo({
+ success: res => {
+ ee.data.screenWidth=res.screenWidth;
+ }
+ })
+
+ //--------------------缓存vip价格的图片---------------
+ wx.getImageInfo({
+ src:img_money,
+ success: function (res) {
+ //回调写法
+ var img_money = res.path;
+ ee.setData({ img_money: img_money});
+ }
+ })
+ //--------------------缓存权益的图片---------------
+ wx.getImageInfo({
+ src: img_Ancrown,
+ success: function (res) {
+ //回调写法
+ var img_Ancrown = res.path;
+ ee.setData({ img_Ancrown: img_Ancrown });
+ }
+ })
+ //--------------------缓存标识的图片---------------
+ wx.getImageInfo({
+ src: img_Identification,
+ success: function (res) {
+ //回调写法
+ var img_Identification = res.path;
+ ee.setData({ img_Identification: img_Identification });
+ }
+ })
+
+ //--------------------卡的勋章---------------
+ wx.getImageInfo({
+ src: privilege_o,
+ success: function (res) {
+ //回调写法
+ var privilege_o = res.path;
+ ee.setData({ privilege_o: privilege_o });
+ }
+ })
+
+ //--------------------方块图---------------
+ wx.getImageInfo({
+ src: img_square,
+ success: function (res) {
+ //回调写法
+ var img_square = res.path;
+ ee.setData({ img_square: img_square});
+ }
+ })
+
+ //-----------获取最大值的卡--------------
+ ee.getPlusCardType();
+
+ },
+
+ selectDetailed: function() {
+ var th = this, e = th;
+ getApp().request.promiseGet("/api/weshop/plus/vip/mem/referee/page", {
+ data: {
+ storeId: o.stoid,
+ userId: r.user_id,
+ page: th.data.page,
+ pageSize: th.data.pageSize
+ }
+ }).then(res => {
+
+ th.setData({isDetailed:1})
+ if(res.data.code==0 && res.data.data.pageData && res.data.data.pageData.length>0) {
+ th.data.page++;//当前页数+1
+ var arr1 = th.data.arrayDetailed;//获取明细数组
+ var arr2 = res.data.data.pageData;//获取当前查询数据
+ var arr3 = [...arr1, ...arr2];//把当前查询数组拼接到原本数组后面
+ var ismore = 0;
+ if (arr3.length == res.data.data.total) ismore = 1 //数据已加载完判断
+ th.setData({
+ arrayDetailed: arr3,
+ total: res.data.data.total,
+ ismore: ismore,
+ isDetailed: 1
+ })
+ }
+ })
+
+ },
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function() {
+ this.selectDetailed();
+ },
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function() {
+
+ if (this.data.total <= this.data.pageSize) return;
+ if (this.data.ismore) {
+ t.my_warnning("加载完啦!", 0, this);
+ return
+ };
+ this.selectDetailed();
+ },
+
+
+ saveImageToPhotosAlbum: function () {
+ if (this.data.imagePath != "") {
+ wx.previewImage({ urls: [this.data.imagePath], })
+ return;
+ }
+
+ this.data.is_loading=1;
+ wx.showLoading({ title: '生成中...',})
+
+ var th = this;
+
+ //设置画板显示,才能开始绘图
+ var card_ming=th.data.bas_ming;//卡的图片
+ var big_card= th.data.big_card;//获取最大的卡
+ var user_head = th.data.head_pic;//会员头像
+ var img_money = th.data.img_money;//缓存vip的价格
+ var img_Ancrown = th.data.img_Ancrown;//会员权益的图片
+ var img_Identification = th.data.img_Identification;//会员标识
+ var privilege_o = th.data.privilege_o;//勋章图片
+ var img_square=th.data.img_square;
+ var app = getApp();
+ var user=app.globalData.userInfo;
+ var unit = th.data.screenWidth / 750 * 1.35;
+ var scene = getApp().globalData.user_id;
+ var nickname = user.nickname;
+
+ //---二微码---
+ var path3 = os.url + "/api/wx/open/app/user/getWeAppEwm/" +
+ os.stoid + "?sceneValue=" + scene + "&pageValue=pages/user/index/index";
+
+ wx.getImageInfo({
+ src: path3,
+ success: function (res) {
+ th.get_head_temp(function(){
+ var vpath=res.path;
+ th.setData({ canvasHidden: false })
+ //开启画布
+ const ctx = wx.createCanvasContext('myCanvas');
+ //先画背景
+ ctx.drawImage("../../../images/share/mackground.png", 0, 0, 554 * unit, 899 * unit);
+ ctx.setFontSize(24 * unit);
+ ctx.setFillStyle("rgb(0,0,0)");
+ ctx.fillText(nickname, 152 * unit, 76 * unit);
+ var width = 24 * nickname.length * unit + 2 * unit;
+ var tj_path = "../../../images/share/q_tj.png";
+ ctx.drawImage(tj_path, 152 * unit + width, 54 * unit, 95 * unit, 30 * unit);
+ ctx.setFontSize(18 * unit);
+ ctx.setLineJoin('round'); //交点设置成圆角
+ ctx.setFillStyle("rgb(255,255,255)");
+ // ctx.fillText("强烈推荐", 265 * unit, 72 * unit);
+ ctx.fillText('强烈推荐', 149 * unit + width + 15 * unit, 76 * unit);
+ ctx.setStrokeStyle("rgb(255,255,255)");
+ ctx.setLineDash([5 * unit, 5 * unit], 5 * unit);
+ ctx.beginPath();
+ ctx.moveTo(0, 125 * unit);
+ ctx.lineTo(554 * unit, 125 * unit);
+ ctx.stroke();
+
+ var x = 55 * unit, y = 165 * unit,w = 444 * unit, h = 220 * unit,r = 14 * unit;
+ ut.draw_randon_rect(ctx,x,y,r,w,h);
+ ctx.clip(); //一旦剪切了某个区域,则所有之后的绘图都会被限制在被剪切的区域内
+ ctx.drawImage(card_ming, x, y, 444 * unit, 220 * unit); // 推进去图片
+ ctx.restore(); //恢复之前保存的绘图上下文 恢复之前保存的绘图上下午即状态 可以继续绘制
+
+ ctx.beginPath();
+ // 卡图片
+ // ctx.drawImage("../../../images/plus/share/one.jpg", 55 * unit, 165 * unit, 444 * unit, 220 * unit,);
+ ctx.setFontSize(26 * unit);
+ ctx.setFillStyle('rgb(218,194,169)');
+ ctx.fillText(big_card.CardName, 80 * unit, 215 * unit);
+ ctx.setFontSize(18 * unit);
+ ctx.setFillStyle('rgb(218,194,169)');
+ ctx.fillText("开通plus会员仅" + big_card.CardFee+"元", 80 * unit, 240 * unit);
+
+ //zz ctx.drawImage(privilege_o, 80 * unit, 343 * unit, 20 * unit, 20 * unit);
+
+ ctx.setFontSize(14 * unit);
+ ctx.setFillStyle('rgb(218,194,169)');
+ ctx.fillText("按去年用户消费计算,开卡后一年预计省¥3031", 85 * unit, 360 * unit);
+
+ ctx.rect(70 * unit, 425 * unit, 182 * unit, 1 * unit);
+ ctx.setFillStyle('rgb(218,194,169)');
+ ctx.fill();
+
+ ctx.drawImage(img_square, 267 * unit, 420 * unit, 13 * unit, 13 * unit);
+
+ ctx.beginPath();
+ ctx.rect(295 * unit, 425 * unit, 182 * unit, 1 * unit);
+ ctx.setFillStyle('rgb(218,194,169)');
+ ctx.fill();
+
+ ctx.drawImage(img_square, 80 * unit, 470 * unit, 10 * unit, 10 * unit);
+ ctx.setFontSize(24 * unit);
+ ctx.setFillStyle("rgb(198,165,126)");
+ ctx.fillText("PULS会员权益", 100 * unit, 475 * unit);
+
+ ctx.setFontSize(20 * unit);
+ ctx.setFillStyle("rgb(198,165,126)");
+ ctx.fillText("PULS会员专属权益", 100 * unit, 505 * unit);
+ ctx.drawImage(img_Ancrown, 355 * unit, 440 * unit, 65 * unit, 65 * unit);
+
+ ctx.rect(85 * unit, 530 * unit, 375 * unit, 1 * unit)
+ ctx.setFillStyle('rgb(218,194,169)')
+ ctx.fill();
+
+ ctx.drawImage(img_square, 80 * unit, 575 * unit, 10 * unit, 10 * unit);
+ ctx.setFontSize(24 * unit);
+ ctx.setFillStyle("rgb(198,165,126)");
+ ctx.fillText("PULS会员标识", 100 * unit, 580 * unit);
+
+ ctx.setFontSize(20 * unit);
+ ctx.setFillStyle("rgb(198,165,126)");
+ ctx.fillText("彰显尊贵身份的象征", 100 * unit, 610 * unit);
+ ctx.drawImage(img_Identification, 355 * unit, 548 * unit, 65 * unit, 65 * unit);
+
+ ctx.rect(85 * unit, 635 * unit, 375 * unit, 1 * unit);
+ ctx.setFillStyle('rgb(218,194,169)');
+ ctx.fill();
+
+ ctx.drawImage(img_square, 80 * unit, 695 * unit, 10 * unit, 10 * unit);
+ ctx.setFontSize(24 * unit);
+ ctx.setFillStyle("rgb(198,165,126)");
+ ctx.fillText("PULS会员价格", 100 * unit, 695 * unit);
+
+ ctx.setFontSize(20 * unit);
+ ctx.setFillStyle("rgb(198,165,126)");
+ ctx.fillText("享受专属会员超低价", 100 * unit, 725 * unit);
+ ctx.drawImage(img_money, 355 * unit, 660 * unit, 65 * unit, 65 * unit);
+
+ ctx.rect(85 * unit, 750 * unit, 375 * unit, 1 * unit)
+ ctx.setFillStyle('rgb(218,194,169)')
+ ctx.fill();
+
+ ctx.drawImage(vpath, 100 * unit, 780 * unit, 110 * unit, 110 * unit);
+
+ ctx.setFontSize(20 * unit);
+ ctx.setFillStyle("#000");
+ ctx.fillText("解锁新权益 精彩享不停", 230 * unit, 825 * unit);
+
+ ctx.setFontSize(20 * unit);
+ ctx.setFillStyle("#000");
+ ctx.fillText("长按识别二维码,立即开通!", 230 * unit, 865 * unit);
+
+ //---绘制圆形要放在最后,头像----
+ ctx.save();
+ ctx.beginPath();
+ var h_x = 60 * unit;
+ var h_y = 24 * unit;
+ var h_r = 40 * unit;
+ var cx = h_x + h_r;
+ var cy = h_y + h_r;
+ ctx.arc(cx, cy, h_r, 0, Math.PI * 2, false);
+ ctx.closePath();
+ ctx.fill();
+ ctx.clip();
+ ctx.drawImage(th.data.head_pic, h_x, h_y, h_r * 2, h_r * 2);
+ ctx.restore();
+
+ x = 345 * unit, y = 190 * unit,
+ w = 105 * unit, h = 30 * unit,
+ r = 14 * unit;
+ ut.draw_randon_rect(ctx,x,y,r,w,h);
+ ctx.setFontSize(18 * unit);
+ ctx.setFillStyle("#000");
+ ctx.fillText("立即开通", 362 * unit, 212 * unit);
+
+ //--绘制图片---
+ ctx.draw(false,
+ function(){
+ setTimeout(function(){
+ wx.canvasToTempFilePath({
+ x: 0,
+ y: 0,
+ width: 750,
+ height: 930,
+ destWidth: 1.2 * 750 * 750 / th.data.screenWidth,
+ destHeight: 1.2 * 1217 * 750 / th.data.screenWidth,
+ canvasId: 'myCanvas',
+ success: function (res) {
+ wx.hideLoading();//关闭生成中的方法
+ th.data.is_loading = 0;
+ console.log("生成的海报");
+ console.log(res.tempFilePath);
+ var tempFilePath = res.tempFilePath;
+ th.setData({
+ imagePath: tempFilePath,
+ maskHidden: false,
+ canvasHidden: true
+ });
+ wx.previewImage({
+ urls: [res.tempFilePath],
+ })
+ if (!res.tempFilePath) {
+ wx.showModal({
+ title: '提示',
+ content: '图片绘制中,请稍后重试',
+ showCancel: false
+ })
+ }
+
+ }
+
+ })
+ },300)
+ })
+ })
+
+
+
+
+ }
+
+ })
+
+ },
+
+ //--获取头像的本地缓存,回调写法--
+ get_head_temp: function (tt) {
+ var ee = this;
+ if (ee.data.head_pic) {
+ tt();return false;
+ }
+ //---获取分享图片的本地地址,头像和商品图片----
+ var path2 = getApp().globalData.userInfo.head_pic;
+ if (path2 == "") {
+ ee.data.head_pic = "../../../images/share/hui_hear_pic.png";tt();
+ } else {
+ path2 = path2.replace("http://thirdwx.qlogo.cn", "https://wx.qlogo.cn");
+ wx.getImageInfo({
+ src: path2,
+ success: function (res) {
+ //res.path是网络图片的本地地址
+ ee.data.head_pic= res.path;tt();
+ },
+ fail: function (res) {
+ ee.data.head_pic= "../../../images/share/hui_hear_pic.png"; //分享的图片不能用网络的
+ tt();
+ }
+ });
+ }
+ },
+
+ //--- 获取卡类列表 ---
+ getPlusCardType: function (e) {
+ var storid = o.stoid;
+ var th = this;
+ getApp().request.promiseGet("/api/weshop/plus/vip/mem/bership/list?" + "storeId=" + storid, {}).then(res => {
+ var plusCard = res.data.data;
+ var arr = [1219, 2089, 3031];
+ var new_arr = new Array();
+ for (var i = 0; i < plusCard.length; i++) {
+ //plusCard[i].free=arr[i];
+ var item = {"fee": plusCard[i].CardFee, 'index': i}
+ new_arr.push(item);
+ }
+ //根據距離遠近排序,越近在前面,升序
+ new_arr.sort(function (a, b) {
+ if (a.fee < b.fee) { return -1; } else if (a.fee == b.fee) { return 0; } else { return 1;}
+ });
+
+ var max_card=plusCard[new_arr[new_arr.length-1].index];
+ th.setData({big_card:max_card})
+
+ //缓存分享卡的图片
+ wx.getImageInfo({
+ src: max_card.CardImg,
+ success: function (res) {
+ var bas_ming = res.path; th.setData({ bas_ming: bas_ming});
+ }
+ })
+
+ })
+ },
+
+
+
+
+
+})
\ No newline at end of file
diff --git a/pages/user/Detailed/Detailed.json b/pages/user/Detailed/Detailed.json
new file mode 100644
index 0000000..f681560
--- /dev/null
+++ b/pages/user/Detailed/Detailed.json
@@ -0,0 +1,6 @@
+{
+ "navigationBarTitleText": "邀请明细",
+ "usingComponents": {
+ "warn": "/components/long_warn/long_warn"
+ }
+}
\ No newline at end of file
diff --git a/pages/user/Detailed/Detailed.wxml b/pages/user/Detailed/Detailed.wxml
new file mode 100644
index 0000000..de3143a
--- /dev/null
+++ b/pages/user/Detailed/Detailed.wxml
@@ -0,0 +1,52 @@
+
+
+
+ 会员昵称
+
+
+
+ 手机号码
+
+
+ 奖励明细
+
+
+
+
+
+
+
+
+
+ {{item.VIPName}}
+
+
+
+ {{item.MobileTel}}
+
+
+
+ +{{item.VIPRebate}}
+
+
+
+
+
+
+
+
+
+
+
+ 暂无邀请明细
+
+
+ 去邀请
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/user/Detailed/Detailed.wxss b/pages/user/Detailed/Detailed.wxss
new file mode 100644
index 0000000..fec8d60
--- /dev/null
+++ b/pages/user/Detailed/Detailed.wxss
@@ -0,0 +1,62 @@
+.title {
+ background-color: rgb(238, 238, 238);
+ height: 65rpx;
+ color: rgb(153, 153, 153);
+}
+
+.Nickname {
+ width: 200rpx;
+ padding-left: 50rpx;
+}
+
+.reward {
+ width: 250rpx;
+}
+
+
+
+.phone {
+ width: 250rpx;
+}
+
+.maxvalue {
+ border-bottom: 1rpx solid rgb(242, 242, 242);
+}
+
+.Nicknamevalue {
+ height: 85rpx;
+ width: 190rpx;
+ padding-left: 60rpx;
+}
+
+.phonevalue {
+ width: 250rpx;
+}
+
+.rewardvalue {
+ width: 250rpx;
+ color: rgb(215, 0, 38);
+}
+/*无明细*/
+.empty_order image {
+ width: 329rpx;
+ height: 280rpx;
+ margin-top: 202rpx;
+}
+
+.empty_order .xc-ash {
+ margin-top: 10rpx;
+ font-weight: 600px;
+}
+
+.empty_order navigator {
+ margin-top: 60rpx;
+ border-radius: 40rpx;
+}
+
+.empty_order navigator view {
+ width: 247rpx;
+ height: 56rpx;
+ background-color: rgb(255, 72, 72);
+ border-radius: 40rpx;
+}
\ No newline at end of file
diff --git a/pages/user/cardinfo/cardinfo.js b/pages/user/cardinfo/cardinfo.js
new file mode 100644
index 0000000..8578274
--- /dev/null
+++ b/pages/user/cardinfo/cardinfo.js
@@ -0,0 +1,724 @@
+var t = getApp(),
+ a = t.request,
+ o = t.globalData.setting,
+ os = o,
+ i = require("../../../utils/util.js"),
+ ut = i,
+ s = require("../../../utils/common.js"),t_pay = require("../../../utils/pay2.js"),
+ w = require("../../../utils/wxParse/wxParse.js");
+var regeneratorRuntime = require('../../../utils/runtime.js');
+//wx.downloadFile把线上地址设为本地地址
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ images: [o.imghost + "/miniapp/images/plus/card_one.jpg", o.imghost + "/miniapp/images/plus/card_two.jpg", o.imghost + "/miniapp/images/plus/card_three.jpg"],
+
+ url: o.imghost,
+ screenWidth: 0,
+ screenheight: 0,
+ canvasHidden:1,
+ shareImgPath: null,
+ is_plusCard: "",//卡的列表
+ imagePath: "",
+ user: null,//会员的数据
+ is_card: 0,//用于判断是否是续费页和购买页面 0不是puls会员
+ content: "",//等级卡规则
+ is_card_rule: "",//等级卡规则判断用
+ big_card: null,//最大的卡
+ divide_into:"",//分佣
+ is_loading:"",//判断分享只执行一次
+ bas_ming:"",//分享的卡的图片
+ head_pic:"",//会员头像
+ img_money:"",//缓存VIP的图片
+ img_Ancrown:"",//会员权益
+ img_Identification:"",//缓存标识的图片
+ img_square:"",//缓存方块的图片
+ privilege_o:"",//卡的勋章图
+ cardid: "",//会员卡的id
+ user_card: null,//会员买的卡
+ free:null,//分佣的数据
+ expiryDate:"",//卡到期时间
+ is_guoqi:0, //卡是不是过期
+
+ yu_e_show:0,//装入余额的弹窗
+ },
+
+
+
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ var that = this,ee=this;
+
+ //-----------等级卡说明-------------------
+ getApp().request.promiseGet("/api/weshop/storeconfig/get/" + os.stoid, {
+ }).then(res => {
+ var is_cardrule = res.data.data.cardrules;
+ w.wxParse("content", "html", is_cardrule, ee, 6);
+ ee.setData({
+ is_card_rule: is_cardrule
+ });
+ })
+
+ //----------------------------获取最大的卡类-----------------------
+ getApp().request.promiseGet("/api/weshop/plus/vip/mem/bership/list?" + "storeId=" + o.stoid, {
+
+ }).then(res => {
+ var plusCard = res.data.data;
+ var big_card = null;
+ var big_cards = null;
+ console.log(plusCard, "数据什么的", res);
+ for (var i = 0; i < plusCard.length; i++) {
+ big_cards = Math.max(plusCard[i].CardFee)
+ if (plusCard[i].CardFee == big_cards) {
+ big_card = plusCard[i]
+ }
+ }
+
+ console.log(big_cards, "是什么东西", big_card);
+ ee.setData({
+ is_plusCard: plusCard,
+ big_card: big_card
+ })
+
+ //缓存分享卡的图片
+ wx.getImageInfo({
+ src: big_card.CardImg,
+ success: function (res) {
+ //回调写法
+ var bas_ming = res.path;
+ ee.setData({ bas_ming: bas_ming });
+ }
+ })
+
+ })
+
+
+ //获取用户设备信息,屏幕宽度
+ wx.getSystemInfo({
+ success: res => {
+ that.setData({
+ screenWidth: res.screenWidth
+ })
+ }
+ })
+ var goods_list = this.selectComponent("#goods_list"); //组件的id
+ goods_list.get_list();
+
+
+ },
+
+
+//------------程序初始化入口 同步-------------
+ async init() {
+ var ee = this, th = ee;
+
+ //-------------会员卡的获取-------------
+ await getApp().request.promiseGet("/api/weshop/plus/vip/mem/list",
+ {
+ data: {
+ storeId: os.stoid,
+ userId: getApp().globalData.user_id,
+ },
+ }).then(res => {
+
+ var GradeCardID = res.data.data[0].GradeCardID;
+ var expiryDate = res.data.data[0].ExpiryDate
+ console.log(GradeCardID, "卡的id", res.data.data[0]);
+ var now=ut.gettimestamp();
+ var str = expiryDate.replace(/-/g, '/');
+ var end = new Date(str);
+ end = Date.parse(end) / 1000;
+ var is_guoqi=0;
+ if(end {
+ console.log("分佣的数据", res.data.data);
+ if (res.data.code==0){
+ ee.setData({ free:res.data.data});
+ }else{
+ ee.setData({ free: 0 });
+ }
+
+ })
+ //-----------会员的卡类-------------------
+ await getApp().request.promiseGet("/api/weshop/plus/vip/mem/bership/get?storeId=" + os.stoid + "&CardId=" + ee.data.cardid, {
+ }).then(res => {
+ var user_card= res.data.data;
+ console.log(user_card,"会员的卡类");
+ ee.setData({user_card: user_card});
+ })
+
+
+
+ //-----------------获取会员信息-------------------------------
+ await getApp().request.promiseGet("/api/weshop/users/get/" + os.stoid + "/" + getApp().globalData.user_id,{
+
+ }).then(res => {
+ var user = res.data.data;
+ var url = ee.data.url;
+ console.log("是什么东西", url);
+ var img_money = url + "/miniapp/images/plus/share/money.png";
+ var img_Ancrown = url + "/miniapp/images/plus/share/Ancrown.png";
+ var img_Identification = url + "/miniapp/images/plus/share/Identification.png";
+ var img_square = url + "/miniapp/images/plus/share/square.png";
+ var privilege_o = url + "/miniapp/images/plus/share/privilege_o.png";
+ console.log("图片转换",img_money);
+ var big_card = ee.data.big_card;
+ ee.setData({
+ user: user,
+ img_money: img_money,
+ img_Ancrown: img_Ancrown ,
+ img_Identification: img_Identification,
+ img_square, img_square ,
+ privilege_o, privilege_o
+
+ });
+
+ //缓存会员头像的图片
+ wx.getImageInfo({
+ src: user.head_pic,
+ success: function (res) {
+ //回调写法
+ var user_head= res.path;
+ ee.setData({ head_pic: user_head });
+ }
+ })
+ })
+ //--------------------缓存vip价格的图片---------------
+ wx.getImageInfo({
+ src:ee.data.img_money,
+ success: function (res) {
+ //回调写法
+ var img_money = res.path;
+ ee.setData({ img_money: img_money});
+ }
+ })
+ //--------------------缓存权益的图片---------------
+ wx.getImageInfo({
+ src: ee.data.img_Ancrown,
+ success: function (res) {
+ //回调写法
+ var img_Ancrown = res.path;
+ ee.setData({ img_Ancrown: img_Ancrown });
+ }
+ })
+ //--------------------缓存标识的图片---------------
+ wx.getImageInfo({
+ src: ee.data.img_Identification,
+ success: function (res) {
+ //回调写法
+ var img_Identification = res.path;
+ ee.setData({ img_Identification: img_Identification });
+ }
+ })
+
+ //--------------------卡的勋章---------------
+ wx.getImageInfo({
+ src: ee.data.privilege_o,
+ success: function (res) {
+ //回调写法
+ var privilege_o = res.path;
+ ee.setData({ privilege_o: privilege_o });
+ }
+ })
+
+ //--------------------方块图---------------
+ wx.getImageInfo({
+ src: ee.data.img_square,
+ success: function (res) {
+ //回调写法
+ var img_square = res.path;
+ ee.setData({ img_square: img_square});
+ }
+ })
+
+ },
+
+
+
+
+ //-----打开分享图片----
+ Share_pictures: function () {
+
+ this.setData({
+ canvasHidden: false
+ })
+ this.saveImageToPhotosAlbum();
+ },
+
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ saveImageToPhotosAlbum: function () {
+ if (this.data.imagePath != "") {
+ wx.previewImage({
+ urls: [this.data.imagePath],
+ })
+ return;
+ }
+ // if(this.data.is_loading) return false ;
+ this.data.is_loading=1;
+
+ wx.showLoading({
+ title: '生成中...',
+ })
+
+ this.setData({
+ canvasHidden: false
+ })
+
+ var th = this;
+ //设置画板显示,才能开始绘图
+ var card_ming=th.data.bas_ming;//卡的图片
+ var user = th.data.user;//会员资料;
+ var big_card= th.data.big_card;//获取最大的卡
+ var user_head = th.data.head_pic;//会员头像
+ var img_money = th.data.img_money;//缓存vip的价格
+ var img_Ancrown = th.data.img_Ancrown;//会员权益的图片
+ var img_Identification = th.data.img_Identification;//会员标识
+ var privilege_o = th.data.privilege_o;//勋章图片
+ var img_square=th.data.img_square;
+ var nickname = user.nickname;
+ var app = getApp();
+ var unit = th.data.screenWidth / 750 * 1.35;
+ var scene = getApp().globalData.user_id;
+ console.log("用户头像", th.data.head_pic);
+ ///二微码
+
+ var path3 = os.url + "/api/wx/open/app/user/getWeAppEwm/" +
+ os.stoid + "?sceneValue=" + scene + "&pageValue=pages/user/index/index";
+ wx.getImageInfo({
+ src: path3,
+ success: function (res) {
+ //回调写法
+ th.get_head_temp(th.get_goods_temp, function () {
+ var vpath=res.path;
+
+ console.log("生成二维码", path3);
+ //开启画布
+ const ctx = wx.createCanvasContext('myCanvas');
+
+
+ //先画背景 930
+ ctx.drawImage("../../../images/share/mackground.png", 0, 0, 554 * unit, 899 * unit);
+ ctx.setFontSize(24 * unit);
+ ctx.setFillStyle("rgb(0,0,0)");
+ // ctx.fillText(nickname, 152 * unit, 75 * unit, 200 * unit);
+ ctx.fillText(nickname, 152 * unit, 76 * unit);
+
+ // var width = 24 * nickname.length * unit + 2 * unit;
+ var width = 24 * nickname.length * unit + 2 * unit;
+ console.log("强烈推荐的距离:", "nickname.length", nickname.length, "unit", unit, "width", width);
+ var tj_path = "../../../images/share/q_tj.png";
+ // ctx.drawImage(tj_path, 255 * unit + width, 50 * unit, 90 * unit, 30 * unit);
+ ctx.drawImage(tj_path, 152 * unit + width, 54 * unit, 95 * unit, 30 * unit);
+
+ ctx.setFontSize(18 * unit);
+ ctx.setLineJoin('round'); //交点设置成圆角
+ ctx.setFillStyle("white");
+ ctx.fillText('强烈推荐', 149 * unit + width + 15 * unit, 76 * unit);
+ // ctx.fillText("强烈推荐", 265 * unit + width, 72 * unit);
+
+ ctx.setStrokeStyle("rgb(255,255,255)");
+ ctx.setLineDash([5 * unit, 5 * unit], 5 * unit);
+ ctx.beginPath();
+ ctx.moveTo(0, 125 * unit);
+ ctx.lineTo(554 * unit, 125 * unit);
+ ctx.stroke();
+
+ var x = 55 * unit,
+ y = 165 * unit,
+ w = 444 * unit,
+ h = 220 * unit,
+ r = 14 * unit;
+ ctx.save();
+ // 开始绘制
+ ctx.beginPath();
+ // 因为边缘描边存在锯齿,最好指定使用 transparent 填充
+ // 这里是使用 fill 还是 stroke都可以,二选一即可
+ ctx.setFillStyle('rgb(237,188,150)')
+ // ctx.setStrokeStyle('transparent')
+ // 左上角
+ ctx.arc(x + r, y + r, r, Math.PI, Math.PI * 1.5)
+
+ // border-top
+ ctx.moveTo(x + r, y)
+ ctx.lineTo(x + w - r, y)
+ ctx.lineTo(x + w, y + r)
+ // 右上角
+ ctx.arc(x + w - r, y + r, r, Math.PI * 1.5, Math.PI * 2)
+
+ // border-right
+ ctx.lineTo(x + w, y + h - r)
+ ctx.lineTo(x + w - r, y + h)
+ // 右下角
+ ctx.arc(x + w - r, y + h - r, r, 0, Math.PI * 0.5)
+
+ // border-bottom
+ ctx.lineTo(x + r, y + h)
+ ctx.lineTo(x, y + h - r)
+ // 左下角
+ ctx.arc(x + r, y + h - r, r, Math.PI * 0.5, Math.PI)
+
+ // border-left
+ ctx.lineTo(x, y + r)
+ ctx.lineTo(x + r, y)
+
+ // 这里是使用 fill 还是 stroke都可以,二选一即可,但是需要与上面对应
+ ctx.fill()
+
+ ctx.clip(); //画了圆 再剪切 原始画布中剪切任意形状和尺寸。一旦剪切了某个区域,则所有之后的绘图都会被限制在被剪切的区域内
+ ctx.drawImage(card_ming, x, y, 444 * unit, 220 * unit); // 推进去图片
+ ctx.restore(); //恢复之前保存的绘图上下文 恢复之前保存的绘图上下午即状态 可以继续绘制
+
+ ctx.beginPath();
+ // 卡图片
+ // ctx.drawImage("../../../images/plus/share/one.jpg", 55 * unit, 165 * unit, 444 * unit, 220 * unit,);
+ ctx.setFontSize(26 * unit);
+ ctx.setFillStyle('rgb(218,194,169)');
+ ctx.fillText(big_card.CardName, 80 * unit, 215 * unit);
+ ctx.setFontSize(18 * unit);
+ ctx.setFillStyle('rgb(218,194,169)');
+ ctx.fillText("开通plus会员仅" + big_card.CardFee+"元", 80 * unit, 240 * unit);
+
+ // zzctx.drawImage(privilege_o, 80 * unit, 343 * unit, 20 * unit, 20 * unit);
+
+ ctx.setFontSize(14 * unit);
+ ctx.setFillStyle('rgb(218,194,169)');
+ ctx.fillText("按去年用户消费计算,开卡后一年预计省¥3031",85 * unit, 360 * unit);
+
+ ctx.rect(70 * unit, 425 * unit, 182 * unit, 1 * unit);
+ ctx.setFillStyle('rgb(218,194,169)');
+ ctx.fill();
+
+ ctx.drawImage(img_square, 267 * unit, 420 * unit, 13 * unit, 13 * unit);
+
+ ctx.beginPath();
+ ctx.rect(295 * unit, 425 * unit, 182 * unit, 1 * unit);
+ ctx.setFillStyle('rgb(218,194,169)');
+ ctx.fill();
+
+ ctx.drawImage(img_square, 80 * unit, 470 * unit, 10 * unit, 10 * unit);
+ ctx.setFontSize(24 * unit);
+ ctx.setFillStyle("rgb(198,165,126)");
+ ctx.fillText("PULS会员权益", 100 * unit, 475 * unit);
+
+ ctx.setFontSize(20 * unit);
+ ctx.setFillStyle("rgb(198,165,126)");
+ ctx.fillText("PULS会员专属权益", 100 * unit, 505 * unit);
+ ctx.drawImage(img_Ancrown, 355 * unit, 440 * unit, 65 * unit, 65 * unit);
+
+ ctx.rect(85 * unit, 530 * unit, 375 * unit, 1 * unit)
+ ctx.setFillStyle('rgb(218,194,169)')
+ ctx.fill();
+
+ ctx.drawImage(img_square, 80 * unit, 575 * unit, 10 * unit, 10 * unit);
+ ctx.setFontSize(24 * unit);
+ ctx.setFillStyle("rgb(198,165,126)");
+ ctx.fillText("PULS会员标识", 100 * unit, 580 * unit);
+
+ ctx.setFontSize(20 * unit);
+ ctx.setFillStyle("rgb(198,165,126)");
+ ctx.fillText("彰显尊贵身份的象征", 100 * unit, 610 * unit);
+ ctx.drawImage(img_Identification, 355 * unit, 548 * unit, 65 * unit, 65 * unit);
+
+ ctx.rect(85 * unit, 635 * unit, 375 * unit, 1 * unit);
+ ctx.setFillStyle('rgb(218,194,169)');
+ ctx.fill();
+
+ ctx.drawImage(img_square, 80 * unit, 695 * unit, 10 * unit, 10 * unit);
+ ctx.setFontSize(24 * unit);
+ ctx.setFillStyle("rgb(198,165,126)");
+ ctx.fillText("PULS会员价格", 100 * unit, 695 * unit);
+
+ ctx.setFontSize(20 * unit);
+ ctx.setFillStyle("rgb(198,165,126)");
+ ctx.fillText("享受专属会员超低价", 100 * unit, 725 * unit);
+ ctx.drawImage(img_money, 355 * unit, 660 * unit, 65 * unit, 65 * unit);
+
+ ctx.rect(85 * unit, 750 * unit, 375 * unit, 1 * unit)
+ ctx.setFillStyle('rgb(218,194,169)')
+ ctx.fill();
+
+ ctx.drawImage(vpath, 100 * unit, 780 * unit, 110 * unit, 110 * unit);
+
+ ctx.setFontSize(20 * unit);
+ ctx.setFillStyle("#000");
+ ctx.fillText("解锁新权益 精彩享不停", 230 * unit, 825 * unit);
+
+ ctx.setFontSize(20 * unit);
+ ctx.setFillStyle("#000");
+ ctx.fillText("长按识别二维码,立即开通!", 230 * unit, 865 * unit);
+
+ //---绘制圆形要放在最后----
+ ctx.save();
+ ctx.beginPath();
+ var h_x = 60 * unit;
+ var h_y = 24 * unit;
+ var h_r = 40 * unit;
+ var cx = h_x + h_r;
+ var cy = h_y + h_r;
+ ctx.arc(cx, cy, h_r, 0, Math.PI * 2, false);
+ ctx.closePath();
+ ctx.fill();
+ ctx.clip();
+ ctx.drawImage(th.data.head_pic, h_x, h_y, h_r * 2, h_r * 2);
+ ctx.restore();
+
+ var x = 345 * unit,
+ y = 190 * unit,
+ w = 105 * unit,
+ h = 30 * unit,
+ r = 14 * unit;
+ ctx.save();
+ // 开始绘制
+ ctx.beginPath();
+ // 因为边缘描边存在锯齿,最好指定使用 transparent 填充
+ // 这里是使用 fill 还是 stroke都可以,二选一即可
+ ctx.setFillStyle('rgb(237,188,150)')
+ // ctx.setStrokeStyle('transparent')
+ // 左上角
+ ctx.arc(x + r, y + r, r, Math.PI, Math.PI * 1.5)
+
+ // border-top
+ ctx.moveTo(x + r, y)
+ ctx.lineTo(x + w - r, y)
+ ctx.lineTo(x + w, y + r)
+ // 右上角
+ ctx.arc(x + w - r, y + r, r, Math.PI * 1.5, Math.PI * 2)
+
+ // border-right
+ ctx.lineTo(x + w, y + h - r)
+ ctx.lineTo(x + w - r, y + h)
+ // 右下角
+ ctx.arc(x + w - r, y + h - r, r, 0, Math.PI * 0.5)
+
+ // border-bottom
+ ctx.lineTo(x + r, y + h)
+ ctx.lineTo(x, y + h - r)
+ // 左下角
+ ctx.arc(x + r, y + h - r, r, Math.PI * 0.5, Math.PI)
+
+ // border-left
+ ctx.lineTo(x, y + r)
+ ctx.lineTo(x + r, y)
+
+ // 这里是使用 fill 还是 stroke都可以,二选一即可,但是需要与上面对应
+ ctx.fill()
+
+ ctx.setFontSize(18 * unit);
+ ctx.setFillStyle("#000");
+ ctx.fillText("立即开通", 362 * unit, 212 * unit);
+
+
+ //绘制图片
+ ctx.draw(false,
+ function(){
+ setTimeout(function(){
+ wx.canvasToTempFilePath({
+ x: 0,
+ y: 0,
+ width: 750,
+ height: 930,
+ destWidth: 1.2 * 750 * 750 / th.data.screenWidth,
+ destHeight: 1.2 * 1217 * 750 / th.data.screenWidth,
+ canvasId: 'myCanvas',
+ success: function (res) {
+ wx.hideLoading();//关闭生成中的方法
+ th.data.is_loading = 0;
+ console.log("生成的海报");
+ console.log(res.tempFilePath);
+ var tempFilePath = res.tempFilePath;
+ th.setData({
+ imagePath: tempFilePath,
+ maskHidden: false,
+ canvasHidden: true
+ });
+ wx.previewImage({
+ urls: [res.tempFilePath],
+ })
+ if (!res.tempFilePath) {
+ wx.showModal({
+ title: '提示',
+ content: '图片绘制中,请稍后重试',
+ showCancel: false
+ })
+ }
+ }
+ })
+ },500)
+
+ })
+
+
+ })
+ }
+ })
+
+ },
+
+ //--获取头像的本地缓存,回调写法--
+ get_head_temp: function (tt, func) {
+ var ee = this;
+ console.log("获取头像", ee.data.head_pic);
+ if (ee.data.head_pic) {
+ tt(func);
+ return false;
+ }
+ //---获取分享图片的本地地址,头像和商品图片----
+ var path2 = getApp().globalData.userInfo.head_pic;
+ if (path2 == "") {
+ ee.data.head_pic = "../../../images/share/hui_hear_pic.png";
+ tt(func);
+ } else {
+ path2 = path2.replace("http://thirdwx.qlogo.cn", "https://wx.qlogo.cn");
+ wx.getImageInfo({
+ src: path2,
+ success: function (res) {
+ //res.path是网络图片的本地地址
+ ee.data.head_pic= res.path;
+ tt(func);;
+ },
+ fail: function (res) {
+ ee.data.head_pic= "../../../images/share/hui_hear_pic.png"; //分享的图片不能用网络的
+ tt(func);
+ }
+ });
+ }
+ },
+ //--获取商品图片的本地缓存,回调写法--
+ get_goods_temp: function (tt) {
+ var ee = this;
+ if (ee.data.head_pic) {
+ tt();
+ return false;
+ }
+ //获取商品是分享图信息
+ wx.getImageInfo({
+ src: ee.data.head_pic,
+ success: function (res) {
+ //res.path是网络图片的本地地址
+ ee.data.head_pic = res.path;
+ tt();
+ },
+ fail: function (res) {
+ ee.data.head_pic = "../../../images/share/default_g_img.gif"; //分享的图片不能用网络的
+ tt();
+ }
+ });
+ },
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+ //同步初始化
+ this.init();
+
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+ var goods_list = this.selectComponent("#goods_list"); //组件的id
+ goods_list.get_list();
+
+ },
+
+
+ //--转到用户余额--
+ to_user_money:function(){
+ this.setData({yu_e_show:1})
+ },
+ close_yu_e:function(){
+ this.setData({yu_e_show:0})
+ },
+ go_yu_e:function(){
+ var th=this,free=th.data.free;
+ if(!th.data.free.VIPRebate){
+ getApp().my_warnning("您没有转入余额",0,th); return false;
+ }
+ wx.showModal({
+ title: '提示',
+ content: '您确定要转入余额吗?',
+ success(res) {
+ if (res.confirm) {
+ getApp().request.post("/api/weshop/plus/withdrawal/referee/money",{
+ data:{storeId:os.stoid,userId:getApp().globalData.user_id},
+ success:function(res){
+ if(res.data.code==0){
+ getApp().my_warnning("转入成功",0,th);
+ free.VIPRebate=0;
+ th.setData({free:free});
+ }else{
+ getApp().my_warnning(res.data.msg ,0,th);
+ }
+ }
+ })
+ }
+ }
+ })
+ },
+
+
+ //-----立即续费的功能------
+ xufei:function(){
+ var th = this;
+ var is_card = 0;
+ var item = th.data.user_card;
+ var req = {};
+ req.cardId = item.CardId;
+ req.rechargeType = 4;
+ //如果不是你导购,也不是等级会员分享
+ req.storeId = os.stoid;
+ req.userId = getApp().globalData.user_id;
+ t_pay.pay(req, th.success, function () {
+ getApp().my_warnning("支付失败", 0, th);
+ });
+
+ },
+
+ //--支付成功,跳转到等级卡续费页面--
+ success:function () {
+ getApp().my_warnning("支付成功",0,this);
+ },
+
+})
\ No newline at end of file
diff --git a/pages/user/cardinfo/cardinfo.json b/pages/user/cardinfo/cardinfo.json
new file mode 100644
index 0000000..9d1ba78
--- /dev/null
+++ b/pages/user/cardinfo/cardinfo.json
@@ -0,0 +1,9 @@
+ {
+ "usingComponents": {
+ "pop_txt": "/components/userqy_pop_up/userqy_pop_up",
+ "goods_recommend": "/components/goods_list/goods_list",
+ "warn": "/components/long_warn/long_warn",
+ "nav_box": "/components/nav_box_card/nav_box"
+ },
+ "navigationBarTitleText": "plus会员"
+}
\ No newline at end of file
diff --git a/pages/user/cardinfo/cardinfo.wxml b/pages/user/cardinfo/cardinfo.wxml
new file mode 100644
index 0000000..74b8c15
--- /dev/null
+++ b/pages/user/cardinfo/cardinfo.wxml
@@ -0,0 +1,151 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{user_card.CardName}}
+ 会员将在{{filters.replace_time2(expiryDate)}}到期
+ 会员已在{{filters.replace_time2(expiryDate)}}过期
+
+ 立即续费
+
+
+
+
+
+
+
+ 正在享受{{user_card.CardName}}会员特权
+ 享受更低价格,请续费哦
+
+
+ 邀请新朋友
+
+
+
+
+
+
+
+
+
+
+
+ 已邀请
+ {{free==0?"0":free.RefereeNumber}}人
+ 可提现
+ {{free==0?"0":free.VIPRebate}}元
+
+
+
+
+ 明细
+
+ 转到余额
+
+
+
+
+
+
+
+
+
+
+ 开通PLUS会员尊享礼遇
+
+ PLUS会员尊享礼遇
+
+
+
+
+
+ PLUS会员可享以下特权
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 好物推荐
+
+
+
+
+
+
+
+
+
+
+
+ GOOD HOT THING
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ⅹ
+ 确定把所有奖励金转入余额
+
+ 是的
+ 再看看
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/user/cardinfo/cardinfo.wxss b/pages/user/cardinfo/cardinfo.wxss
new file mode 100644
index 0000000..50b4991
--- /dev/null
+++ b/pages/user/cardinfo/cardinfo.wxss
@@ -0,0 +1,229 @@
+ @import "../../../utils/wxParse/wxParse.wxss";
+ .Member_bk {
+ position:relative;
+ z-index: 0;
+ width: 100%;
+ height: 100%;
+}
+.box--box_main .box--dian wx-image {
+ margin: 0px 0 0 4px;
+
+ margin-bottom: 4px;
+
+}
+.MemberPlus {
+ width: 618rpx;
+ height: 285rpx;
+ /* border-radius: 18rpx; */
+ box-shadow: 0rpx 0rpx 10rpx #888;
+ margin: 0rpx 35rpx;
+ color: #ffa786;
+ padding: 0rpx 31rpx;
+ padding-top: 40rpx;
+ background-size: 100%;
+ border-top-left-radius: 18rpx;
+ border-top-right-radius: 18rpx;
+
+}
+.renew {
+ width: 190rpx;
+ height: 50rpx;
+ border-radius: 18rpx;
+ background-color: rgb(237, 189, 150);
+ text-align: center;
+ line-height: 50rpx;
+ color: #000;
+ margin-top: 7rpx;
+
+}
+.xs {
+ position: absolute; bottom: 30rpx; width: 91%;
+}
+.MemberPlus .privilege {
+ width: 30rpx;
+ height: 30rpx;
+ margin-right: 7rpx;
+}
+.MemberPlus .share {
+ width: 30rpx;
+ height: 30rpx;
+ margin-left: 7rpx;
+}
+.Invitation {
+ padding: 0rpx 31rpx;
+ box-shadow: 0rpx 0rpx 10rpx #888;
+ height: 95rpx;
+ background-color: rgb(255, 255, 255);
+ z-index: 6;
+}
+.Invitation .Invitation_count, .Invitation_my {
+ color: rgb(237, 189, 153);
+}
+.Invitation .Detailed {
+ color: rgb(237, 189, 150);
+ text-decoration: underline;
+}
+.Invitation .Invitation_Cash {
+ width: 150rpx;
+ height: 45rpx;
+ line-height: 45rpx;
+ text-align: center;
+ border-radius: 25rpx;
+ margin-left: 30rpx;
+ background-color: rgb(237, 189, 150);
+ color: rgb(255, 255, 255);
+}
+.swiper, .Courtesy, .title {
+ position: relative;
+ z-index:-3;
+}
+.Courtesy_title {
+ color: rgb(173, 137, 79);
+ font-weight: bold;
+ margin-bottom: 10rpx;
+ letter-spacing: 2rpx;
+}
+.Courtesy_image {
+ width: 50rpx;
+ height: 25rpx;
+ margin-top: 8rpx;
+}
+.Courtesy_can {
+ margin: 0rpx 7rpx;
+ color: rgb(94, 93, 91);
+ font-weight: bold;
+}
+
+
+/* 热门好物 */
+
+.title .China {
+ width: 100%;
+ margin-top: 60rpx;
+ margin-bottom: 10rpx;
+ line-height: 0rpx;
+}
+
+.title .China .line view {
+ width: 2rpx;
+}
+
+.title .China .line {
+ height: 40rpx;
+ color: rgb(51, 51, 51);
+}
+
+.title .China .line view {
+ border-left: 3rpx solid #000;
+ margin-left: 5rpx;
+}
+
+.title .China .line .one {
+ height: 23rpx;
+}
+
+.title .China .line .two {
+ height: 15rpx;
+}
+
+.title .China .line .three {
+ height: 18rpx;
+}
+
+.title .China .Recommend {
+ margin: 0rpx 20rpx;
+ font-size: 28rpx;
+ line-height: 39rpx;
+ font-weight: bold;
+}
+
+.title .english .silk {
+ width: 214rpx;
+ height: 2rpx;
+ background-color: #000;
+}
+
+.title .english .esh {
+ margin: 0rpx 15rpx;
+}
+.Member {
+ width: 30rpx;
+ height: 30rpx;
+ margin-right: 5rpx;
+ background-size: 100% 100%;
+ background-blend-mode: lighten;
+ transform: translateX(-280%);
+ vertical-align: top;
+}
+
+.h36{ height:36rpx; line-height: 36rpx;}
+.h22{ height:22rpx; line-height: 22rpx;}
+
+
+
+
+/* 弹窗样式 */
+.xc-pop-up{
+ width: 100%;
+ height: 100%;
+ position:fixed;
+ z-index:5;
+ display:flex;
+justify-content:center;
+align-items:center;
+
+}
+.xc-obscuration{
+ position: fixed;
+ left: 0;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ z-index: 11;
+ background: rgba(0,0,0,0.4);
+ width: 100%;
+ height: 100%;
+
+}
+
+.shut{
+ display: block;
+ width: 54rpx;
+ height: 54rpx;
+
+ font-size: 50rpx;
+
+ line-height:47rpx;
+ border-radius: 50%;
+ -moz-border-radius: 50%;
+ -webkit-border-radius: 50%;
+ color: #fff;
+ text-align: center;
+ position: fixed;
+margin-top: -23rpx;
+z-index: 66666;
+ right: 20rpx;
+ background: #c8162c;
+}
+.xc-qr-frame{
+ width:90%;
+height: 260rpx;
+ background: #fff;
+ z-index: 55;
+ position: fixed;
+ top:40%;
+
+ padding-bottom:20rpx;
+ right: 4.5%;
+ overflow: hidden;
+
+}
+.fs36{
+ font-size: 36rpx;
+}
+.Opening_bk image {
+ position: absolute;
+
+ width: 100%;
+ height: 320rpx;
+}
\ No newline at end of file
diff --git a/pages/user/deposit/prepaid/prepaid.wxml b/pages/user/deposit/prepaid/prepaid.wxml
index e5157ac..7672e75 100644
--- a/pages/user/deposit/prepaid/prepaid.wxml
+++ b/pages/user/deposit/prepaid/prepaid.wxml
@@ -10,8 +10,8 @@
备注:
{{perpaid.ItemName}}
- 立即充值
+ 立即充值
diff --git a/pages/user/index/index.js b/pages/user/index/index.js
index dce61a6..e73aa49 100644
--- a/pages/user/index/index.js
+++ b/pages/user/index/index.js
@@ -4,33 +4,34 @@ var regeneratorRuntime = require('../../../utils/runtime.js');
const {
barcode,
qrcode
-} = require('../../../utils/index.js')
-
+} = require('../../../utils/index.js');
+var ut = require("../../../utils/util.js");
Page({
/**
* 页面的初始数据
*/
data: {
- length:150,
- iurl: s.imghost,
- defaultAvatar:s.imghost+"/miniapp/images/no-head.jpg",
- userInfo:null,
- toji:null, //统计相关
- txmon:0,
- byquan: 0,
- yuer: 0,
-
- currentPage:1,
- recommend_list:[],
- tc_hide: true,
- sw_index:0,
- qy_list:null,
- gradeId:null,
- is_init:0,
-
- cz_val:0,
- full_cz_val:0,
+ length:150,
+ iurl: s.imghost,
+ defaultAvatar:s.imghost+"/miniapp/images/no-head.jpg",
+ userInfo:null,
+ toji:null, //统计相关
+ txmon:0,
+ byquan: 0,
+ yuer: 0,
+
+ currentPage:1,
+ recommend_list:[],
+ tc_hide: true,
+ sw_index:0,
+ qy_list:null,
+ gradeId:null,
+ is_init:0,
+
+ cz_val:0,
+ full_cz_val:0,
+ is_dengji:0, //是不是等级
},
/**
@@ -45,7 +46,6 @@ Page({
var s = this,th=s,need_money=0,cur_g_num=0;
getApp().get_isbuy(th.setappdata);
if(getApp().globalData.user_id) getApp().requestCardNum();
-
/*------会员登录------*/
app.getUserFir(async function(e){
if(e!=undefined && e!=null){
@@ -188,6 +188,26 @@ Page({
/*-- 获取 --*/
th.requestRecommend();
+
+ /*-------系统是否开通等级卡,会员是等级卡-----*/
+ getApp().getConfig2(function (e) {
+ var t_swi=e.switch_list;
+ if(t_swi) t_swi=JSON.parse(t_swi)
+ if(parseInt(t_swi.rank_switch)==2){
+ var userInfo=th.data.userInfo;
+ if(userInfo.card_field!=null && userInfo.card_field!=undefined && userInfo.card_field!="" ){
+ var now=ut.gettimestamp();
+ var str= userInfo.card_expiredate;
+ var end = new Date(str);
+ end = Date.parse(end) / 1000;
+ //---判断是不是有过期---
+ if(now
-
-
-
-
-
-
-
- {{userInfo.nickname}} {{GradeName}}
-
-
- {{" "}}成长值 {{cz_val}} / {{need_money}}
-
-
- {{" "}}成长值 {{cz_val}}
-
-
-
+
+
+
+
+
+
+
+ {{userInfo.nickname}}
+
+ {{GradeName}}
+
+
+ {{" "}}
+ 成长值
+ {{cz_val}} / {{need_money}}
+
+
+ {{" "}}
+ 成长值 {{cz_val}}
+
+
+
-
+
-
-
- 请点击注册
-
+
+
+ 请点击注册
+
-
-
-
-
-
-
- 成长值
+
+
+
+
+
+
+ 成长值
+
+
+
+
+
+
+
+ 5000/10000
+
+
+ {{yuer?yuer:0}}
+ 余额
+
+ {{udata.Balance?udata.Balance:0}}
+ 预存款
+
+ {{udata.Integral?udata.Integral:0}}
+ 积分
+
+ {{udata.CashCount+byquan?udata.CashCount+byquan:0}}
+ 优惠券
+
+
+
-
-
-
-
-
-
- 5000/10000
-
-
- {{yuer?yuer:0}}余额
- {{udata.Balance?udata.Balance:0}}预存款
- {{udata.Integral?udata.Integral:0}}积分
- {{udata.CashCount+byquan?udata.CashCount+byquan:0}}优惠券
-
-
-
+
+
+
+
+
+ 加入plus会员预计可省3031元
+
+
+ 立即开通
+
+
+
+
+
+
+
+ 加入plus会员
+ 预计可省3031元
+
+ 立即续费
+
+
-
-
-
- 加入会员
- 预计可省345元
-
- 立即开通
-
-
-
-
-
-
-
-
- 待付款
- {{toji.wait_pay}}
-
-
-
- 待收货
- {{toji.wait_receive}}
-
-
-
- 待评论
- {{toji.wait_pj}}
-
-
-
-
- 售后/退款
-
-
+
+
+
+
+
+ 待付款
+ {{toji.wait_pay}}
+
+
+
+ 待收货
+ {{toji.wait_receive}}
+
+
+
+ 待评论
+ {{toji.wait_pj}}
+
+
+
+
+ 售后/退款
+
+
-
-
-
-
- 我的订单
+
+
+
+
+ 我的订单
+
+
-
-
-
+
+
+
+
+
+
+
+
+
+ 我的权益
+
+
+
+
+ 更多
+
+
+
+
-
-
-
-
-
-
-
- 我的权益
-
-
-
-
- 更多
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
- {{item.PrivilegeName}}
-
-
-
+
+
+
+
+
+
+
+
+ {{item.PrivilegeName}}
+
+
+
-
+
-
-
+
+
-
-
-
-
-
-
- 工具与服务
-
-
-
-
-
-
- 我的拼单
-
-
-
- 秒杀活动
-
-
-
- 我的权益
-
+
+
+
+
+
+
+ 工具与服务
+
+
+
+
+
+
+ 我的拼单
+
+
+
+ 秒杀活动
+
+
+
+ 我的权益
+
-
-
- 联系客服
-
+
+
+ 联系客服
+
+
+
+ plus会员
+
-
-
- 收藏夹
-
+
+
+ 收藏夹
+
-
-
- 我的评价
-
+
+
+ 我的评价
+
-
-
- 我的地址
-
+
+
+ 我的地址
+
-
+
-
-
-
-
-
-
-
-
-
-
-
- 为你推荐
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+ 为你推荐
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
- ¥
+ ¥
{{item.shop_price}}
-
- 原价¥{{item.market_price}}
-
- {{item.goods_name}}
-
-
-
-
-
-
- 已经到底
-
+
+ 原价¥{{item.market_price}}
-
+ {{item.goods_name}}
+
+
+
+
+
+
+ 已经到底
+
+
+
-
-
-
-
-
-
- {{userInfo.nickname}}
-
-
-
- {{userInfo.address}}
-
-
-
-
-
-
- 扫一扫上面的二维码图案,即可消费
-
-
+
+
+
+
+
+
+ {{userInfo.nickname}}
+
+
+
+ {{userInfo.address}}
+
+
+
+
+
+
+ 扫一扫上面的二维码图案,即可消费
+
+
\ No newline at end of file
diff --git a/pages/user/index/index.wxss b/pages/user/index/index.wxss
index f1e49eb..f774c41 100644
--- a/pages/user/index/index.wxss
+++ b/pages/user/index/index.wxss
@@ -56,7 +56,9 @@
border-radius:20px 0 0 38rpx;
padding-right:12rpx;
padding-left:12rpx;
-
+}
+.addplus{
+ width: 100%;
}
.xc-grade{
width: 25rpx;
@@ -143,42 +145,42 @@ height: 84rpx;
}
.xc-add-member{
- display:none;
+ background-size: 100%;
margin-top:10rpx;
- color: #fff;
+ color: rgb(238, 205, 172);
width: 730rpx;
- height: 74rpx;
+ height: 90rpx;
border-radius: 15rpx 15rpx 0 0;
- background: url("https://mshopimg.yolipai.net/miniapp/images/user_index_gray.png") no-repeat center;
+ background: url("data:image/jpeg;base64,/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAABkAAD/4QN6aHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjUtYzAxNCA3OS4xNTE0ODEsIDIwMTMvMDMvMTMtMTI6MDk6MTUgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6MDhlYTAxZTktZGVjMy00MTc1LWE4MzEtNWQ0NjFhNWIzOGRjIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjdEMDAzN0JDRjNBQTExRTk4QjYzRjhEM0E3NkM1REQ0IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjdEMDAzN0JCRjNBQTExRTk4QjYzRjhEM0E3NkM1REQ0IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDQyAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo4NGY5ODE2MS1mMjVjLWIzNDItOGYxNi1lMTNkY2Q2ZDJiMDgiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MDhlYTAxZTktZGVjMy00MTc1LWE4MzEtNWQ0NjFhNWIzOGRjIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3Jk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") no-repeat center;
}
.xc-add-member .xc-icon{
width: 30rpx;
height: 30rpx;
- margin-left:50rpx;
-
}
.xc-add-member .member{
- margin-left: 15rpx;
+ margin-left: 10rpx;
}
.xc-add-member .xc-save-money{
- border-left: 2rpx solid #fff;
+ border-left: 2rpx solid rgb(238, 205, 172);
padding-left: 15rpx;
margin-left: 15rpx;
}
-.xc-add-member .xc-opening-button{
- width: 130rpx;
- margin-left:180rpx;
-}
+
.xc-opening{
border-radius: 20rpx;
- background: #fe547c;
- color: #fff;
- height:36rpx;
- line-height: 36rpx;
+ background: rgb(238, 205, 172);
+ height:34rpx;
+ line-height: 34rpx;
+ color:#000;
+ padding-left: 15rpx;
+padding-right: 17rpx;
+padding: 5rpx 18rpx 5rpx 15rpx;
+
+
}
.xc-after-sale{
width:100%;
diff --git a/pages/user/plus/plus.js b/pages/user/plus/plus.js
new file mode 100644
index 0000000..5cc019f
--- /dev/null
+++ b/pages/user/plus/plus.js
@@ -0,0 +1,305 @@
+var t = getApp(),
+ a = t.request,
+ o = t.globalData.setting,
+ os = o,
+ i = require("../../../utils/util.js"),
+ ut = i,
+ s = require("../../../utils/common.js"),
+ w = require("../../../utils/wxParse/wxParse.js"),t_pay = require("../../../utils/pay2.js");
+ var regeneratorRuntime = require('../../../utils/runtime.js');
+
+Page({
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ currentId: 0,
+ url: o.imghost,
+ screenWidth: 0,
+ screenheight: 0,
+ canvasHidden: true,
+ shareImgPath: null,
+ is_plusCard: "",//卡的列表
+ imagePath: "",
+ is_pulscardname: "",//plus会员的名字
+ is_card: 0,//用于判断是否是续费页和购买页面 0不是puls会员
+ content: "",//等级卡规则
+ is_card_rule: "",//等级卡规则判断用
+ is_show: 0, //页面要加载完才能显示
+ open_yq: 0, //显示打开邀请码的弹窗
+ by_index:null, //购买卡的下班
+
+ isyaoqingma:0, //是否邀请码
+ is_salesman:0, //是否营业员
+ inp_recommon: null, //输入的邀请码
+ inp_serviceman: null, //输入的营业员
+ is_fengxiang: 0, //是不是分享过来的
+ def_recommon: null, //分享人的手机号
+ def_serviceman: null, //分享人的营业员
+ fir_leader:0,
+
+ },
+ swiperChange: function (e) {
+ var currentId = e.detail.current;
+ this.setData({
+ currentId: currentId
+ })
+ },
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ var that = this;
+ var store_id=getApp().globalData.setting.stoid;
+ //获取用户设备信息,屏幕宽度
+ wx.getSystemInfo({
+ success: res => {
+ that.setData({screenWidth: res.screenWidth})
+ }
+ })
+ var fir_leader = options.scene;
+ that.setData({fir_leader:fir_leader})
+ if (fir_leader != null && fir_leader != undefined && fir_leader != "") {
+ var r_url="/api/weshop/plus/vip/mem/list?storeId=" + store_id + "&userId=" + fir_leader
+ getApp().request.get(r_url, {
+ success: function (res) {
+ var is_ok = 1;
+ if (res.data.code == -1) {
+ getApp().my_warnning("未找到分享会员", 0, that);
+ is_ok = 0;
+ that.back_user();
+ }
+ var user_information = res.data.data[0];
+ if (user_information['GradeCardID'] == null || user_information['GradeCardID'] == "" || user_information['GradeCardID'] == undefined) {
+ getApp().my_warnning("分享会员不是plus会员", 0, that);
+ is_ok = 0;
+ that.back_user();
+ }
+ //--获取当前的时间--
+ var now = ut.gettimestamp();
+ if (user_information['ExpiryDate']) {
+ var str = user_information['ExpiryDate'].replace(/-/g, '/');
+ var end = new Date(str);
+ end = Date.parse(end) / 1000;
+ if (end < now) {
+ getApp().my_warnning("分享plus会员已经过期", 0, that);
+ is_ok = 0;
+ that.back_user();
+ }
+ } else {
+ getApp().my_warnning("分享plus会员已经过期", 0, that);
+ is_ok = 0;
+ that.back_user();
+ }
+ if (is_ok == 1) {
+ that.setData({def_recommon: user_information.MobileTel, def_serviceman: user_information.StaffNo,is_fengxiang:1})
+ //--先判断会员状态--
+ var user_info=getApp().globalData.userInfo;
+ if(user_info==null || user_info.mobile==undefined || user_info.mobile=="" || user_info.mobile==null){
+ wx.navigateTo({ url: '/pages/getphone/getphone?first_leader='+fir_leader, })
+ return false;
+ }
+ }
+ }
+ });
+ }
+
+ //-----------商家配置信息----- 等级卡规则,是否又开邀请码,营业员------------
+ getApp().request.get("/api/weshop/storeconfig/get/" + store_id, {
+ success: function (res) {
+ var is_cardrule = res.data.data.cardrules;
+ var switch_list= res.data.data.switch_list;
+ var swi_arr=JSON.parse(switch_list);
+
+ w.wxParse("content", "html", is_cardrule, that, 6);
+ that.setData({
+ is_card_rule: is_cardrule,
+ isyaoqingma:parseInt(swi_arr.isyaoqingma),
+ is_salesman:parseInt(swi_arr.is_staffno)
+ });
+ }
+ });
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+ var th=this,app_d=getApp().globalData;
+ getApp().request.get("/api/weshop/users/get/" + os.stoid + "/" + app_d.user_id, {
+ success: function (e) {
+ var userInfo = e.data.data;
+ if(userInfo['card_field']){
+ var u_url = "/pages/user/cardinfo/cardinfo";
+ wx.reLaunch({url: u_url})
+ }
+ },
+ });
+
+ this.getPlusCardType();
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {
+
+ },
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+ var goods_list = this.selectComponent("#goods_list"); //组件的id
+ goods_list.get_list();
+ },
+
+ //--- 获取卡类列表 ---
+ getPlusCardType: function (e) {
+ var storid = o.stoid;
+ var th = this;
+ getApp().request.promiseGet("/api/weshop/plus/vip/mem/bership/list?" + "storeId=" + storid, {}).then(res => {
+ var plusCard = res.data.data;
+ var arr = [1219, 2089, 3031];
+ var new_arr = new Array();
+ for (var i = 0; i < plusCard.length; i++) {
+ //plusCard[i].free=arr[i];
+ var item = {"fee": plusCard[i].CardFee, 'index': i}
+ new_arr.push(item);
+ }
+ //根據距離遠近排序,越近在前面,升序
+ new_arr.sort(function (a, b) {
+ if (a.fee < b.fee) {
+ return -1;
+ } else if (a.fee == b.fee) {
+ return 0;
+ } else {
+ return 1;
+ }
+ });
+ //---给数组添加立省多少钱---
+ for (i = 0; i < plusCard.length; i++) {
+ for (var j = 0; j < new_arr.length; j++) {
+ if (i == new_arr[j].index) {
+ plusCard[i].free = arr[j];
+ break;
+ }
+ }
+ }
+ th.setData({
+ is_plusCard: plusCard, is_show: 1
+ })
+ var goods_list = th.selectComponent("#goods_list"); //组件的id
+ goods_list.get_list();
+
+ })
+ },
+
+ //--开通会员---接受前端index,弹起窗口---
+ Opening: function (e) {
+ var th = this;
+ th.data.by_index = e.currentTarget.dataset.ind;
+
+ if (th.data.is_fengxiang) {
+ th.buy_card();
+ } else {
+ //--如果后台都没有勾邀请码,营业员,立即购买--
+ if (!th.data.isyaoqingma && !th.data.is_salesman) {th.buy_card(); return false;}
+ th.setData({open_yq: 1})
+ }
+ },
+
+ //--立即购买卡--
+ buy_card: async function () {
+ var th = this;
+ var is_card = 0;
+ //--商家是不是有等级卡功能,开通的人数是不是够用,开通是时间是不是到期--
+ await getApp().request.promiseGet("/api/weshop/plus/plus/card/register",
+ {data: {storeId: os.stoid}}).then(res => {
+ if (res.data.code == 0) is_card = 1;
+ })
+ if (is_card == 0) getApp().my_warnning("请联系商家升级plus功能", 0, th);
+ var item = th.data.is_plusCard[th.data.by_index];
+ var req = {};
+ req.cardId = item.CardId;
+ req.rechargeType = 3;
+ //如果不是你导购,也不是等级会员分享
+ if (th.data.is_fengxiang == 1) {
+ if (th.data.def_recommon) req.recommon = th.data.def_recommon
+ if (th.data.def_serviceman) req.serviceman = th.data.def_serviceman
+ } else {
+ //---后台要求要输入邀请码---
+ if (th.data.isyaoqingma) {
+ if (!th.data.inp_recommon) {
+ getApp().my_warnning("请输入邀请码", 0, th);
+ return false;
+ }
+
+ //--邀请人不能是自己的手机号--
+ if(th.data.inp_recommon==getApp().globalData.userInfo.mobile){
+ getApp().my_warnning("邀请人不能填自已", 0, th);
+ return false;
+ }
+
+ req.recommon = th.data.inp_recommon
+ }
+ //--后台要求要输入营业员--
+ if (th.data.is_salesman) {
+ if (!th.data.inp_serviceman) {
+ getApp().my_warnning("请输入营业员", 0, th);
+ return false;
+ }
+ req.serviceman = th.data.inp_serviceman
+ }
+ }
+ req.storeId = os.stoid;
+ req.userId = getApp().globalData.user_id;
+ //--如果有邀请码,和营业员的情况下--
+ if(req.recommon || req.serviceman ) {
+ var req_data = {storeId: os.stoid, userId: req.userId};
+ if(req.recommon) req_data.inviteCode=req.recommon;
+ if(req.serviceman) req_data.staffNo=req.serviceman;
+ getApp().request.get("/api/weshop/plus/vip/mem/referee/code/check", {
+ data:req_data,
+ success:function(res){
+ if(res.data.code==0) {
+ t_pay.pay(req, th.success, function () {
+ getApp().my_warnning("支付失败", 0, th);
+ });
+ }else{
+ getApp().my_warnning(res.data.msg, 0, th);
+ }
+ }
+ })
+ }else{
+ t_pay.pay(req, th.success, function () {
+ getApp().my_warnning("支付失败", 0, th);
+ });
+ }
+ },
+ //返回会员页面
+ OpeningClose: function() {
+ this.setData({open_yq:0});
+ },
+
+ //返回会员中心
+ back_user:function () {
+ setTimeout(function () {
+ wx.reLaunch({url:"/pages/user/index/index"});
+ },1000)
+ },
+
+ //--支付成功,跳转到等级卡续费页面--
+ success:function () {
+
+ },
+
+ //--绑定邀请码的输入--
+ b_input:function (e) {
+ var value=e.detail.value;
+ var name=e.currentTarget.dataset.name;
+ var ob={};
+ ob[name]=value
+ this.setData(ob);
+ }
+
+})
\ No newline at end of file
diff --git a/pages/user/plus/plus.json b/pages/user/plus/plus.json
new file mode 100644
index 0000000..23e6f91
--- /dev/null
+++ b/pages/user/plus/plus.json
@@ -0,0 +1,8 @@
+{
+ "usingComponents": {
+ "pop_txt": "/components/userqy_pop_up/userqy_pop_up",
+ "goods_recommend": "/components/goods_list/goods_list",
+ "warn": "/components/long_warn/long_warn"
+ },
+ "navigationBarTitleText": "购买plus会员"
+}
\ No newline at end of file
diff --git a/pages/user/plus/plus.wxml b/pages/user/plus/plus.wxml
new file mode 100644
index 0000000..2f7ad35
--- /dev/null
+++ b/pages/user/plus/plus.wxml
@@ -0,0 +1,155 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.CardName}}
+
+
+ 立即购买
+
+
+
+
+
+
+
+
+
+ 按去年用户消费计算,开卡后一年预计省¥{{item.free}}元
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 开通PLUSI会员尊享礼遇
+
+
+
+
+
+
+
+
+ PLUS会员可享受以下特权
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 好物推荐
+
+
+
+
+
+
+
+
+
+
+
+ GOOD HOT THING
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 请完善下面信息
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 确认购买
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/user/plus/plus.wxss b/pages/user/plus/plus.wxss
new file mode 100644
index 0000000..f169837
--- /dev/null
+++ b/pages/user/plus/plus.wxss
@@ -0,0 +1,366 @@
+@import "../../../utils/wxParse/wxParse.wxss";
+page {
+ width: 100%;
+ height: 100%;
+ z-index: 3;
+ overflow-x: hidden;
+}
+
+.plus {
+ overflow-x: hidden;
+}
+
+.Member_bk {
+ position: absolute;
+ z-index: 0;
+ width: 100%;
+ height: 100%;
+}
+
+.Opening_bk image {
+ position: absolute;
+ z-index: 2;
+ width: 100%;
+ height: 320rpx;
+}
+
+.swiper {
+ width: 100%;
+ padding-top: 60rpx;
+}
+
+swiper {
+ align-items: center;
+ display: flex;
+ justify-content: center;
+ height: 275rpx;
+}
+
+.swiper image {
+ width: 490rpx;
+ height: 100%;
+ border-radius: 20rpx;
+}
+
+.swiper, .Courtesy, .title {
+ position: relative;
+ z-index: 3;
+}
+
+.Courtesy_image {
+ width: 50rpx;
+ height: 25rpx;
+ margin-top: 8rpx;
+}
+
+.Courtesy_title {
+ color: rgb(173, 137, 79);
+ font-weight: bold;
+ margin-bottom: 10rpx;
+ letter-spacing: 2rpx;
+}
+
+.Courtesy_can {
+ margin: 0rpx 7rpx;
+ color: rgb(94, 93, 91);
+ font-weight: bold;
+}
+
+.Courtesy_comment {
+ padding: 0rpx 31rpx;
+}
+
+.Equity_image {
+ width: 490rpx;
+ height: 175rpx;
+ margin: 20rpx 0rpx;
+}
+
+/* 热门好物 */
+
+.title .China {
+ width: 100%;
+ margin-top: 60rpx;
+ margin-bottom: 10rpx;
+ line-height: 0rpx;
+}
+
+.title .China .line view {
+ width: 2rpx;
+}
+
+.title .China .line {
+ height: 40rpx;
+ color: rgb(51, 51, 51);
+}
+
+.title .China .line view {
+ border-left: 3rpx solid #000;
+ margin-left: 5rpx;
+}
+
+.title .China .line .one {
+ height: 23rpx;
+}
+
+.title .China .line .two {
+ height: 15rpx;
+}
+
+.title .China .line .three {
+ height: 18rpx;
+}
+
+.title .China .Recommend {
+ margin: 0rpx 20rpx;
+ font-size: 28rpx;
+ line-height: 39rpx;
+ font-weight: bold;
+}
+
+.title .english .silk {
+ width: 214rpx;
+ height: 2rpx;
+ background-color: #000;
+}
+
+.title .english .esh {
+ margin: 0rpx 15rpx;
+}
+
+.Membership {
+ width: 575rpx;
+ height: 275rpx;
+ margin: 0 auto;
+ transform: scale(0.9);
+ border-radius: 18rpx;
+ box-shadow: 0rpx 0rpx 2rpx #888;
+ background-size: 100%;
+ padding: 0rpx 31rpx;
+ color: #ffa786;
+}
+
+.enlarge {
+ transform: scale(1);
+}
+
+.Membership_go {
+ margin-top: 50rpx;
+}
+
+.Membership_Opening {
+ width: 150rpx;
+ height: 40rpx;
+ border-radius: 30rpx;
+ text-align: center;
+ line-height: 40rpx;
+ background-color: rgb(255, 167, 135);
+ color: #000;
+}
+
+.Membership .Member {
+ width: 30rpx;
+ height: 30rpx;
+ margin-right: 5rpx;
+ background-size: 100% 100%;
+ transform: translateX(-130%);
+
+}
+
+.Membership .Opening {
+ width: 160rpx;
+ height: 50rpx;
+ line-height: 50rpx;
+ border-radius: 30rpx;
+ background-color: rgb(237, 189, 150);
+ text-align: center;
+ margin-top: 2rpx;
+ color: #666
+}
+
+.Invitation {
+ padding: 0rpx 31rpx;
+ box-shadow: 0rpx 0rpx 10rpx #888;
+ height: 95rpx;
+ background-color: rgb(255, 255, 255);
+ z-index: 6;
+ position: relative;
+ margin-top: -15rpx;
+}
+
+.Invitation .Invitation_count, .Invitation_my {
+ color: rgb(237, 189, 153);
+}
+
+.Invitation .Invitation_Cash {
+ width: 150rpx;
+ height: 45rpx;
+ line-height: 45rpx;
+ text-align: center;
+ border-radius: 25rpx;
+ margin-left: 30rpx;
+ background-color: rgb(237, 189, 150);
+ color: rgb(255, 255, 255);
+}
+
+.Invitation .Detailed {
+ color: rgb(237, 189, 150);
+ text-decoration: underline;
+}
+
+.consumption {
+ margin-top: 88rpx;
+ font-size: 18rpx;
+}
+
+.Membership_remarks {
+ margin-top: 2rpx;
+}
+
+.MemberPlus {
+ width: 618rpx;
+ height: 290rpx;
+ border-radius: 18rpx;
+ box-shadow: 0rpx 0rpx 10rpx #888;
+ margin: 0rpx 35rpx;
+ color: #ffa786;
+ padding: 0rpx 31rpx;
+ padding-top: 60rpx;
+ background-size: 100%;
+}
+
+.Member_sp {
+ height: 325rpx;
+}
+
+.renew {
+ width: 190rpx;
+ height: 50rpx;
+ border-radius: 18rpx;
+ background-color: rgb(237, 189, 150);
+ text-align: center;
+ line-height: 50rpx;
+ color: #000;
+ margin-top: 7rpx;
+}
+
+.xs {
+ margin-top: 130rpx;
+}
+
+.MemberPlus .share {
+ width: 30rpx;
+ height: 30rpx;
+ margin-left: 7rpx;
+}
+
+.MemberPlus .privilege {
+ width: 30rpx;
+ height: 30rpx;
+ margin-right: 7rpx;
+}
+
+.Disgraceful {
+ position: fixed;
+ left: 0;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ z-index: 11;
+ background: rgba(0, 0, 0, 0.6);
+ width: 100%;
+ height: 100%;
+}
+.ddd {
+ border-radius: 20rpx;
+}
+
+.Member_purchase {
+ width: 610rpx;
+ margin-top: 20rpx;
+}
+
+.purchase_Bk {
+ width: 100%;
+ height: 225rpx;
+ background-size: 100%;
+}
+
+.write {
+ width: 280rpx;
+ height: 275rpx;
+ bottom: 20rpx;
+ left: 185rpx;
+}
+
+.inf_com {
+ background-color: rgb(255, 255, 255);
+ padding: 0rpx 60rpx;
+}
+
+.perfect {
+ padding-top: 30rpx;
+ padding-bottom: 65rpx;
+}
+
+.fillin {
+ color: rgb(208, 208, 208);
+}
+
+.Enter_phone {
+ border-bottom: 1rpx solid rgb(153, 153, 153);
+ margin-bottom: 35rpx;
+}
+
+.phone_image {
+ width: 60rpx;
+ height: 60rpx;
+ margin-bottom: 5rpx;
+}
+
+.phone {
+ margin-left: 15rpx;
+ color: #000;
+}
+
+.enter_SalesClerk {
+ border-bottom: 1rpx solid rgb(153, 153, 153);
+}
+
+.SalesClerk_image {
+ width: 60rpx;
+ height: 60rpx;
+ margin-bottom: 5rpx;
+}
+
+.SalesClerk {
+ margin-left: 15rpx;
+ color: #000;
+}
+
+.purchase {
+ width: 250rpx;
+ height: 50rpx;
+ border-radius: 25rpx;
+ color: rgb(255, 255, 255);
+ margin: 55rpx 0rpx;
+ background-position: center;background-repeat: no-repeat;background-size: cover
+}
+
+.purchaseClose {
+ width: 70rpx;
+ height: 70rpx;
+ border-radius: 50%;
+ margin-top: 60rpx;
+}
+
+input {
+margin-top: 10rpx;
+
+ overflow: visible;
+ width: 410rpx;
+}
+
+swiper-item{
+ overflow: visible;
+}
\ No newline at end of file
diff --git a/pages/user/userinfo/userinfo.js b/pages/user/userinfo/userinfo.js
index 81c1379..e92182d 100644
--- a/pages/user/userinfo/userinfo.js
+++ b/pages/user/userinfo/userinfo.js
@@ -1,84 +1,795 @@
function e(e, a, r) {
- return a in e ? Object.defineProperty(e, a, {
- value: r,
- enumerable: !0,
- configurable: !0,
- writable: !0
- }) : e[a] = r, e;
-}
+ return a in e ? Object.defineProperty(e, a, {
+ value: r,
+ enumerable: !0,
+ configurable: !0,
+ writable: !0
+ }) : e[a] = r, e;
+}
-var a = getApp(), r = a.globalData.setting,
- t = a.request, s = require("../../../utils/common.js"), util = require("../../../utils/util.js");
+var a = getApp(),
+ r = a.globalData.setting,
+ t = a.request,
+ s = require("../../../utils/common.js"),
+ util = require("../../../utils/util.js"),ut=util;
+
+var timestamp = Date.parse(new Date());
+var date = new Date(timestamp);
Page({
- data: {
- url: r.url,
- resourceUrl: r.resourceUrl,
- iurl: r.imghost,
- defaultAvatar: r.resourceUrl + "/static/images/user68.jpg",
- user: null,
- tc_hide:true,
- stoname:"",
- },
- onShow: function() {
- var e = this; var req=t;
- a.getUserInfo(function(a) {
- var txt = util.formatTime(a.birthday,'yyyy-M-d'),arr = txt.split(' ');
- a.birthday=arr[0];
- var txt2 = util.formatTime(a.reg_time, 'yyyy-M-d'), arr2 = txt.split(' ');
- a.reg_time = arr2[0];
- req.get("/api/weshop/pickup/get/" + r.stoid + "/" + a.pickup_id, {
- success: function (da) {
- console.log('getsto');
- console.log(da);
- //设置门店
- e.setData({ stoname: da.data.data.pickup_name});
- }
- })
- e.setData({
- user: a
- });
- }, !0);
- },
- editUserInfo: function(e) {
- var r = e.currentTarget.dataset.type;
- if (("password" == r || "paypwd" == r) && !this.data.user.mobile) return a.showWarning("请先绑定手机号码");
- r && this.data.user && wx.navigateTo({
- url: "/pages/user/userinfo_edit/userinfo_edit?type=" + r
- });
- },
-
- /*--------------------修改头像---------------------*/
- changeAvatar: function() {
- return false;
- var r = this;
- wx.chooseImage({
- count: 1,
- sizeType: [ "compressed", "original" ],
- sourceType: [ "camera", "album" ],
- success: function(u) {
- t.uploadFile(r.data.url + "/api/user/upload_headpic", {
- filePath: u.tempFilePaths[0],
- name: "head_pic",
- success: function(t) {
- var u = s.getFullUrl(t.data.result);
- r.setData(e({}, "user.head_pic", u)), a.globalData.userInfo.head_pic = u, a.showSuccess("设置头像成功");
+ data: {
+ phone:"",
+ url: r.url,
+ resourceUrl: r.resourceUrl,
+ iurl: r.imghost,
+ defaultAvatar: r.resourceUrl + "/static/images/user68.jpg",
+ user: null,
+ tc_hide: true,
+ stoname: "",
+ checkDate: false,
+ datet: "",
+ year: date.getFullYear(),
+ store: 0,
+ all_sto: "",
+ region_name: "",
+ def_pick_store: "",
+ sort_store: 0, //门店分类
+ sec_sto: "",
+ more_store: 0, //选择门店
+ choice_sort_store: 1, //选择分类门店
+ more_store: 0, //选择门店
+ lat: null, //维度
+ lon: null, //经度
+ fir_pick_index: 0,
+ sec_pick_index: 0,
+ is_gps: 1,
+ lon: 0,
+ only_pk: 0,
+ open_ind_store: 0, //哪里打开的门店列表的控制属性
+ ispwhid:1,//是否隐藏密码显示
+ isstcsp:1,//是否启动密码消费
+ isGender:1,//什么性别
+ iscalendar:1,//是否是农历
+ consumption:"",//消费密码
+ identity_card:"",//身份证值
+ address:"",//地址
+ openid:"",//openid
+ pulscardname:"",//puls会员的卡
+ gradename:"",//会员权益的卡
+ isBool:"",
+ sto_sele_id:"",//所属门店id
+ is_zy:0,
+ },
+ //是否启动密码消费
+ isstcsp:function(){
+ var th = this;
+ var isstcsp = th.data.isstcsp;
+ if (isstcsp==0){
+ th.setData({
+ isstcsp:1
+ })
+ }else{
+ th.setData({
+ isstcsp: 0
+ })
+ }
+ },
+ //出生日期是否是农历
+ iscalendar:function(){
+ var th = this;
+ var iscalendar = th.data.iscalendar;
+ if (iscalendar == 0) {
+ th.setData({
+ iscalendar: 1
+ })
+ } else {
+ th.setData({
+ iscalendar: 0
+ })
+ }
+ },
+ //性别
+ isGender:function(e){
+ var th = this;
+ var sex = e.currentTarget.dataset.sex;
+ console.log("点击选择性别",sex);
+ th.setData({
+ isGender:sex
+ })
+
+
+ },
+ //密码是否隐藏显示
+ ispwhid:function(){
+ var th = this;
+ var ispwhid = th.data.ispwhid;
+
+ if (ispwhid == 0) {
+ th.setData({
+ ispwhid: 1
+ })
+ } else {
+ th.setData({
+ ispwhid: 0
+ })
+ }
+ },
+ checkDate: function() {
+ var th = this;
+ if (th.data.checkDate) {
+ th.setData({
+ checkDate: false
+ })
+ } else {
+ th.setData({
+ checkDate: true
+ })
+ }
+ },
+ bindChange: function(e) {
+ this.setData({
+ datet: e.detail.value,
+ });
+ },
+ //---点击二级之后的选择---
+ choose_for_store: function(e) {
+ var index_c = e.currentTarget.dataset.ind;
+
+ this.setData({
+ sec_pick_index: index_c,
+ fir_pick_index: index_c
+ })
+ },
+ //确定def_pick为选择的门店
+ sure_pick: function(e) {
+ var th = this;
+ var item = null;
+ var openindstore = th.data.open_ind_store;
+ if (th.data.choice_sort_store == 0) {
+ var index = th.data.fir_pick_index;
+ if (th.data.is_show_sto_cat == 1) {
+ item = th.data.def_pickpu_list[index];
+ } else {
+ item = th.data.only_pk[index]; //当没有门店分类的时候
+ }
+
+ } else {
+ var index = th.data.sec_pick_index;
+ item = th.data.sec_sto.s_arr[index];
+ }
+
+ console.log("选择门店刷新", "def_pick_store", item);
+ th.setData({
+ def_pick_store: item,
+ stoname: item.pickup_name,
+ sto_sele_name: item.pickup_name,
+ sto_sele_id: item.pickup_id,
+ sto_sele_distr: item.distr_type,
+ store: 0,
+ choice_sort_store: 0,
+ fir_pick_index: 0
+ });
+
+ if (openindstore == 1) {
+ th.setData({
+ openSpecModal: !0,
+ openSpecModal_ind: openindstore,
+ });
+ } else if (openindstore == 2) {
+ th.setData({
+ openSpecModal: !0,
+ openSpecModal_ind: openindstore,
+ openSpecModal_pt: 1
+ });
+ }
+ },
+ choose_for_store_fir: function(e) {
+ var index_c = e.currentTarget.dataset.ind;
+ this.setData({
+ fir_pick_index: index_c
+ })
+ },
+ wait_for_store_config: function() {
+ var th = this;
+ wx.getLocation({
+ type: 'wgs84',
+ success: function(res) {
+ th.data.lat = res.latitude;
+ th.data.lon = res.longitude;
+ th.data.is_get_local_ok = 1;
+ },
+ fail: function(res) {
+ if (res.errCode == 2) {
+ th.setData({
+ is_gps: 0
+ });
+ if (th.data.is_gps == 0) {
+ getApp().confirmBox("请开启GPS定位", null, 10000, !1);
+ }
+ } else {
+ th.setData({
+ is_gps: "3"
+ });
+ }
+ th.data.is_get_local_ok = 1;
+ }
+ })
+ },
+ onclickstore: function() {
+ var th = this;
+ if (th.data.store == 0) {
+ this.setData({
+ store: 1
+ })
+ } else {
+ this.setData({
+ store: 0
+ })
+ }
+ var dd = {
+ store_id: r.stoid,
+ isstop: 0,
+ pageSize: 300
+ }
+ th.setData({
+ sort_store: 1
+ });
+ var i = getApp().request;
+ //如果有距离的话
+ if (th.data.lat != null) {
+ dd.lat = th.data.lat;
+ dd.lon = th.data.lon;
+ }
+ //----------获取门店----------------
+ getApp().request.promiseGet("/api/weshop/pickup/list", {
+ data: dd,
+ }).then(res => {
+ var e = res;
+ if (e.data.code == 0) {
+ //-- 如果有默认选择门店的时候,要把默认门店放在第一位 --
+ if (th.data.def_pick_store) {
+ for (var k = 0; k < e.data.data.pageData.length; k++) {
+ if (e.data.data.pageData[k].pickup_id == th.data.def_pick_store.pickup_id) {
+ e.data.data.pageData.splice(k, 1); //删除
+ break;
+ }
+ }
+ e.data.data.pageData.splice(0, 0, th.data.def_pick_store); //添加
+ }
+
+ //单总量超出5个的时候
+ if (e.data.data.total > 5) {
+ i.get("/api/weshop/storagecategory/page", {
+ data: {
+ store_id: r.stoid,
+ is_show: 1,
+ pageSize: 300
+ },
+ success: function(ee) {
+ if (ee.data.code == 0) {
+ if (ee.data.data.pageData.length > 0) {
+ var def_arr = new Array();
+ var ishas = 0;
+ //-- 开始就看5个门店 --
+ for (var k = 0; k < 5; k++) {
+ if (k == e.data.data.pageData.length) break;
+ def_arr.push(e.data.data.pageData[k]);
+ }
+
+ th.setData({
+ def_pickpu_list: def_arr,
+ pickpu_list: ee.data.data.pageData
+ });
+ var sto_cate = ee.data.data.pageData;
+ var sto_arr = e.data.data.pageData;
+ var newarr = new Array();
+ var qita = new Array();
+
+ //----要进行门店分组--------
+ for (var i = 0; i < sto_arr.length; i++) {
+ //找一下这个门店有没有在分类数组内
+ var find2 = 0,
+ find2name = "";
+ for (var m = 0; m < sto_cate.length; m++) {
+ if (sto_arr[i].category_id == sto_cate[m].cat_id) {
+ find2 = sto_cate[m].cat_id;
+ find2name = sto_cate[m].cat_name;
+ break;
+ }
}
+
+ if (newarr.length > 0) {
+ var find = 0;
+ //如果有找到,那门店就在这个分组内,否则,分类就要排在其他
+ if (find2 != 0) {
+ for (var ii = 0; ii < newarr.length; ii++) {
+ if (sto_arr[i].category_id == newarr[ii].cat_id) {
+ newarr[ii].s_arr.push(sto_arr[i]);
+ find = 1;
+ break;
+ }
+ }
+ if (find == 0) {
+ var arr0 = new Array();
+ arr0.push(sto_arr[i]);
+ var item = {
+ cat_id: find2,
+ name: find2name,
+ s_arr: arr0
+ };
+ newarr.push(item);
+ }
+ } else {
+ qita.push(sto_arr[i]);
+ }
+ } else {
+ //如果有找到,那门店就在这个分组内,否则,分类就要排在其他
+ if (find2 != 0) {
+ var arr0 = new Array();
+ arr0.push(sto_arr[i]);
+ var item = {
+ cat_id: find2,
+ name: find2name,
+ s_arr: arr0
+ };
+ newarr.push(item);
+ } else {
+ qita.push(sto_arr[i]);
+ }
+ }
+ }
+
+ //----安排其他的分类-----
+ if (qita.length > 0) {
+ var item = {
+ cat_id: -1,
+ name: "其他",
+ s_arr: qita
+ };
+ newarr.push(item);
+ }
+ th.setData({
+ is_show_sto_cat: 1,
+ all_sto: newarr
+ });
+
+ } else {
+ th.setData({
+ is_show_sto_cat: -1,
+ only_pk: e.data.data.pageData
+ });
+ }
+ } else {
+ th.setData({
+ is_show_sto_cat: -1,
+ only_pk: e.data.data.pageData
});
+ }
}
+ });
+ } else {
+ th.setData({
+ is_show_sto_cat: 0,
+ only_pk: e.data.data.pageData
+ });
+ }
+ }
+ }, 200)
+ console.log(th.data.all_sto + 'eeee');
+ },
+ //选择更多门店
+ more_store: function() {
+ this.setData({
+ sort_store: 1
+ });
+ },
+ //---选择分类门店---
+ choice_sort_store: function(e) {
+ var index = e.currentTarget.dataset.index;
+ var region_name = e.currentTarget.dataset.region;
+ var item = this.data.all_sto[index];
+ this.setData({
+ region_name: region_name,
+ sort_store: 0,
+ choice_sort_store: 1,
+ sec_sto: item,
+ sec_pick_index: 0
+ });
+ },
+ // 返回按钮
+ returns: function() {
+ this.setData({
+ sort_store: 0,
+ choice_sort_store: 0
+ });
+ },
+ //身份证号严格校验
+ IdentityIDCard: function(e) {
+ var code = e.detail.value;
+ //身份证号前两位代表区域
+ var city = {
+ 11: "北京",
+ 12: "天津",
+ 13: "河北",
+ 14: "山西",
+ 15: "内蒙古",
+ 21: "辽宁",
+ 22: "吉林",
+ 23: "黑龙江 ",
+ 31: "上海",
+ 32: "江苏",
+ 33: "浙江",
+ 34: "安徽",
+ 35: "福建",
+ 36: "江西",
+ 37: "山东",
+ 41: "河南",
+ 42: "湖北 ",
+ 43: "湖南",
+ 44: "广东",
+ 45: "广西",
+ 46: "海南",
+ 50: "重庆",
+ 51: "四川",
+ 52: "贵州",
+ 53: "云南",
+ 54: "西藏 ",
+ 61: "陕西",
+ 62: "甘肃",
+ 63: "青海",
+ 64: "宁夏",
+ 65: "新疆",
+ 71: "台湾",
+ 81: "香港",
+ 82: "澳门",
+ 91: "国外 "
+ };
+ //身份证格式正则表达式
+ var idCardReg = /^\d{6}(18|19|20)?\d{2}(0[1-9]|1[012])(0[1-9]|[12]\d|3[01])\d{3}(\d|X)$/i;
+ var errorMess = ""; //错误提示信息
+ var isPass = true; //身份证验证是否通过(true通过、false未通过)
+
+ //如果身份证不满足格式正则表达式
+ if (!code || !idCardReg.test(code)) {
+ console.log("您输入的身份证号格式有误!");
+ errorMess = "您输入的身份证号格式有误!";
+ isPass = false;
+ }
+
+ //区域数组中不包含需验证的身份证前两位
+ else if (!city[code.substr(0, 2)]) {
+ errorMess = "您输入的身份证地址编码有误!";
+ isPass = false;
+ } else {
+ //18位身份证需要验证最后一位校验位
+ if (code.length == 18) {
+ code = code.split('');
+ //∑(ai×Wi)(mod 11)
+ //加权因子
+ var factor = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2];
+ //校验位
+ var parity = [1, 0, 'X', 9, 8, 7, 6, 5, 4, 3, 2];
+ var sum = 0;
+ var ai = 0;
+ var wi = 0;
+ for (var i = 0; i < 17; i++) {
+ ai = code[i];
+ wi = factor[i];
+ sum += ai * wi;
+ }
+ var last = parity[sum % 11];
+ if (parity[sum % 11] != code[17]) {
+ errorMess = "您输入的身份证号不存在!";
+ isPass = false;
+ }
+ }
+ }
+ var returnParam = {
+ 'errorMess': errorMess,
+ 'isPass': isPass
+ }
+ if (errorMess != "") {
+ wx.showModal({
+ title: errorMess,
+ content: '',
+ showCancel: false,
+ confirmText: '确定',
+ confirmColor: '',
+ success: function(res) {},
+ fail: function(res) {},
+ complete: function(res) {},
+ })
+ }
+ return returnParam;
+ },
+ //------初始化加载----------
+ onLoad: function(t) {
+
+ var user=getApp().globalData.userInfo;
+ if(user.card_field!=''&& user.card_field!=null && user.card_field!=undefined){
+ var now=ut.gettimestamp();
+ var str= user.card_expiredate;
+ var end = new Date(str);
+ end = Date.parse(end) / 1000;
+ if(now 6 || val!=""){
+
+ this.setData({ consumption: val });
+ console.log("是什么东西", val);
+ }
+
+
+ },
+
+//地址
+ address:function(e){
+ var val = e.detail;
+ console.log("地址55555555", val.value);
+ this.setData({ address: val.value });
+ },
+
+ //身份证验证
+ identity_card:function(e){
+ var val = e.detail;
+
+ this.setData({ identity_card: val.value });
+
+ },
+ //用户名字
+ user_name:function(e){
+ var name = e.detail.value;
+ if (name !=""||name!=null){
+
+ this.setData({ user_name: name });
+
+ }
+
+ },
+
+ //点击确认修改信息
+ confirm_revision:function(){
+ var th=this;
+ var isstcsp=th.data.isstcsp;//是否启用消费密码
+ var phone=th.data.phone;//手机号码
+ if (phone == "" || phone==null){
+ getApp().my_warnning("手机不能为空", 0, th);
+
+ return false;
+ }
+
+
+ var consumption = th.data.consumption;//消费密码
+ var isstcsp = th.data.isstcsp;
+ if(isstcsp==1){
+
+ if (consumption==null || consumption=="" || consumption==undefined ){
+ getApp().my_warnning("消费密码不能为空", 0, th); return false;
+ }
+ if (consumption.length < 6){
+ getApp().my_warnning("消费密码不能小于6位", 0, th); return false;
+ }
+ }
+ var sex = th.data.isGender;//性别
+
+ if (sex!="1"&&sex!="2" ) {
+ getApp().my_warnning("请选择性别", 0, th);
+ return false;
+ }
+ var user_name = th.data.user.vipname;//用户姓名
+ console.log("名字77777",user_name);
+ if (user_name==""|| user_name== null) {
+ getApp().my_warnning("请输入名字", 0, th);
+ return false;
+ }
+ var identity_card = th.data.identity_card;//身份证
+ console.log("身份证",identity_card);
+
+ if (identity_card == "" || identity_card == null ) {
+ getApp().my_warnning("请输入身份证", 0, th);
+ return false;
+ } else if (!(/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/.test(identity_card))){
+ getApp().my_warnning("身份证号码错误",0, th);
+ return false;
+ }
+ var address = th.data.address;//地址
+ console.log("地址1010101", address)
+ if (address == "" || address == null) {
+ getApp().my_warnning("请输入地址", 0, th);
+ return false;
+ }
+ //保存所属门店的id
+ var sto_sele_id=th.data.sto_sele_id;
+ console.log("请输入所属门店的id", sto_sele_id);
+ if (sto_sele_id == null || sto_sele_id==""){
+ getApp().my_warnning("请输入所属门店", 0, th);
+ return false;
+ }
+ console.log("要保存的数据", sex, consumption, identity_card, address, user_name);
+ var datas = {
+ mobile: phone,//手机号码
+ store_id: r.stoid,
+ user_id: getApp().globalData.user_id,
+ vipnopwd: isstcsp,
+ vippass: consumption,//消费密码
+ sex: sex,//性别
+ nickname:user_name,//昵称
+ idcard:identity_card,//身份证
+ address:address,//地址
+ pickup_id: sto_sele_id//自提门店 所属门店
+ }
+ getApp().request.put("/api/weshop/users/updateUserInfo", {
+ data: datas,
+ success: function (res) {
+
+ if (res.data.code==0){
+ getApp().showWarning("修改成功");
+ }else{
+ getApp().showWarning("修改失败");
+ }
+
+ }
+ })
+ } ,
+
+ go_phone:function(e){
+ var url=e.currentTarget.dataset.url;
+ this.setData({is_zy:1});
+ getApp().goto(url);
+ }
+
});
\ No newline at end of file
diff --git a/pages/user/userinfo/userinfo.json b/pages/user/userinfo/userinfo.json
index 2f245ea..9a57847 100644
--- a/pages/user/userinfo/userinfo.json
+++ b/pages/user/userinfo/userinfo.json
@@ -1,4 +1,7 @@
{
"navigationBarTitleText": "个人资料",
- "enablePullDownRefresh": false
+ "enablePullDownRefresh": false,
+ "usingComponents": {
+ "warn": "/components/long_warn/long_warn"
+ }
}
\ No newline at end of file
diff --git a/pages/user/userinfo/userinfo.wxml b/pages/user/userinfo/userinfo.wxml
index 19cd0d1..c98ea70 100644
--- a/pages/user/userinfo/userinfo.wxml
+++ b/pages/user/userinfo/userinfo.wxml
@@ -1,97 +1,372 @@
+
-
-
- 头像
-
+
+
+
+
+
+
+
+
+
+
+
+ {{user.nickname}}
+
+
+
+
+
+
+
+
+ {{gradename}}
+
+
+
+
+
+
+
+ {{pulscardname}}
+
+
+
+
-
- 昵称
-
- {{user.nickname}}
+
+
+
+
+ 我的二维码
+
+
+
+
+
+
+
+ 卡号
+ {{user.erpvipno}}
-
- 性别
-
- {{user.sex?user.sex==1?'男':'女':'保密'}}
+
+
+ 是否启用消费密码
+
+
+
+
+
+
+
+
+ 启动密码消费
+
+
+
+
+
+ 消费密码
+
+
+
+
+
+
+
-
- 生日
-
- {{user.birthday}}
+
+
+
+
+
+
+
+
-
- 姓名
-
- {{user.vipname}}
+
+ 性别
+
+
+
+
+
+
+
+
+ 男
+
+
+
+
+
+
+
+
+ 女
+
+
+
-
- 身份证
-
- {{user.idcard}}
-
-
- 电话
-
- {{user.mobile}}
-
-
- 地址
-
- {{user.address}}
+
+ 出生日期
+
+
+
+
+
+
+
+
+
+
+
+ 农历
+
+
+
+
+
+
+
+
+
+ {{datet==""? user.birthday==""?"":filters.replace_time2(user.birthday):datet}}
+
+
+
+
+
+
+
+ 姓名
+
+
-
- 所属门店
-
- {{stoname}}
-
-
-
- 收货地址
-
-
-
- 我的二维码名片
-
+
+ 身份证
+
+
+
+
+
+
+
+ 更换手机
+
+ {{phone}}
+ ∟
-
- 绑定的时间
-
- {{user.reg_time}}
+
+
+
+ 地址
+
+
+
+
+
+
+ 所属门店
+
+ {{stoname}}
+
+
+ ∟
+
+
+ 收货地址
+
+
+ ∟
+
+
+
+ 绑定时间
+ {{user.reg_time?filters.replace_time2(user.reg_time):""}}
+
+
+
+
+
+
+ 确认修改
+
-
-
-
-
- {{user.nickname}}
-
-
-
- {{user.address}}
-
-
-
-
-
- 扫一扫上面的二维码图案,即可消费
+
+
+
+
+ {{user.nickname}}
+
+
+
+ {{user.address}}
+
+
+
+
+ 扫一扫上面的二维码图案,即可消费
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/user/userinfo/userinfo.wxss b/pages/user/userinfo/userinfo.wxss
index cbd6456..903b0b0 100644
--- a/pages/user/userinfo/userinfo.wxss
+++ b/pages/user/userinfo/userinfo.wxss
@@ -1,103 +1,567 @@
+.container{
+ padding-bottom:165rpx;
+ transform: translate()
+}
.user-container {
- font-size: 30rpx;
+ font-size: 30rpx;
+}
+input{
+ width: 450rpx;
+}
+.head {
+ height: 220rpx;
+ border-bottom: 6rpx solid rgb(245, 245, 245);
+ border-top: 2rpx solid rgb(245, 245, 245);
+ background-size: 100%;
+}
+.angle{
+ transform: rotate(225deg);
+ font-size: 24rpx;
+ margin-top: 2rpx;
+}
+.Headportrait {
+ width: 145rpx;
+ height: 145rpx;
+ border-radius: 50%;
+ margin-left: 40rpx;
}
-.user-head {
- width: 100%;
- height: 200rpx;
- position: relative;
- background-color: white;
+.vip {
+ margin-top: 30rpx;
+ color: rgb(255, 255, 255);
}
-.user-txt {
- float: left;
- margin-left: 40rpx;
- margin-top: 80rpx;
- color: #666;
+.AncrownMax {
+ background-color: rgb(57, 57, 57);
+
+ height: 36rpx;
+ border-radius: 20rpx;
+ margin-right: 20rpx;
+ line-height: 36rpx;
+ padding-right: 14rpx;
+padding-left: 10rpx;
+
+}
+.Nickname{
+ max-width:170rpx;
+}
+.Ancrown {
+ width: 30rpx;
+ height: 30rpx;
+ margin-right: 5rpx;
+}
+
+.plusMax {
+ background-color: rgb(212, 58, 30);
+ height: 36rpx;
+ border-radius: 20rpx;
+ line-height: 36rpx;
+ padding-left: 10rpx;
+padding-right: 14rpx;
+
+}
+
+.fuls {
+ width: 25rpx;
+ height: 25rpx;
+ margin-right: 5rpx;
+}
+
+.Bbottom {
+ border-bottom: 6rpx solid rgb(245, 245, 245);
+}
+
+.Mleft {
+ margin-left: 8rpx;
+}
+
+.Birth {
+ width: 500rpx;
+}
+
+.Gendercheck {
+ width: 90rpx;
+ height: 35rpx;
+ border: 2rpx solid rgb(212, 2, 31);
+ color: rgb(212, 2, 31);
+ border-radius: 20rpx;
+ margin-left: 15rpx;
+}
+
+.Gender {
+ width: 90rpx;
+ height: 35rpx;
+ border: 2rpx solid rgb(153, 153, 153);
+ color: rgb(153, 153, 153);
+ border-radius: 20rpx;
+ margin-left: 15rpx;
+}
+
+.GenderImage {
+ width: 25rpx;
+ height: 25rpx;
+ margin-right: 10rpx;
+}
+.confirm{
+ width: 100%;
+ position:fixed;
+ left: 0rpx;
+ bottom: 0rpx;
+ height: 130rpx;
+ background-color: rgb(255,255,255);
+}
+
+.confirmtext {
+ width: 495rpx;
+ height: 65rpx;
+ color: rgb(255, 255, 255);
+ background-color: rgb(214, 1, 33);
+ border-radius: 35rpx;
+}
+
+.cmleft {
+ margin-left: 45rpx;
+}
+
+.hion {
+ width:300rpx ;
+ text-align: right;
+ margin-top: 3rpx;
+ margin-right: 5rpx;
+}
+
+.eye {
+ width: 50rpx;
+ height: 50rpx;
+}
+
+.user-head {
+ height: 95rpx;
+ background-color: white;
+ margin: 0rpx 20rpx;
+ border-bottom: 2rpx solid rgb(245, 245, 245);
+ padding: 0rpx 20rpx;
+ padding-top: 20rpx;
}
.user_headimg {
- height: 140rpx;
- width: 140rpx;
- border-radius: 70rpx;
- float: right;
- margin-right: 30rpx;
- margin-top: 25rpx;
+ height: 140rpx;
+ width: 140rpx;
+ border-radius: 70rpx;
}
.user-name {
- width: 100%;
- height: 100rpx;
- margin-top: 2rpx;
- background-color: white;
+ height: 95rpx;
+ margin-top: 2rpx;
+ background-color: white;
+ margin: 0rpx 20rpx;
+ border-bottom: 2rpx solid rgb(245, 245, 245);
+ padding: 0rpx 20rpx;
}
-.user-name.mt{ margin-top: 20rpx;}
-.user-name-txt {
- float: left;
- margin-left: 40rpx;
- margin-top: 30rpx;
- color: #666;
+.user-name.mt {
+ margin-top: 20rpx;
}
-.user-txt-right {
- float: right;
- margin-top: 30rpx;
- margin-right: 30rpx;
- font-sise:34rpx
+.address {
+ max-width: 300rpx;
+}
+
+.Receiving_goods {
+ width: 330rpx;
}
.user-change {
- width: 100%;
- height: 100rpx;
- margin-top: 20rpx;
- background-color: white;
+ width: 100%;
+ height: 100rpx;
+ margin-top: 20rpx;
+ background-color: white;
}
.one-line {
- white-space: nowrap;
- word-break: keep-all;
- overflow: hidden;
+ white-space: nowrap;
+ word-break: keep-all;
+ overflow: hidden;
+}
+
+/*---弹出层---*/
+
+.modal-box {
+ position: fixed;
+ width: 100%;
+ height: 100%;
+ top: 0px;
+ background: rgba(0, 0, 0, 0.4);
+ overflow: hidden;
+}
+
+.modal-body {
+ position: fixed;
+ top: 80rpx;
+ left: 0;
+ z-index: 100;
+ background: #fff;
+ margin-left: 73rpx;
+ width: 600rpx;
+ height: 860rpx;
+ border-radius: 8px;
+ text-align: center;
+}
+
+.modal-content {
+ width: 480rpx;
+ margin: 0 auto;
+ margin-top: 60rpx;
+ overflow: hidden;
+}
+
+.modal-content .hd_img {
+ width: 170rpx;
+ height: 170rpx;
+ border-radius: 5px;
+}
+
+.ctent_txt {
+ margin-left: 30rpx;
+ text-align: left;
+}
+
+.txt1 {
+ font-size: 34rpx;
+ font-weight: bold;
+}
+
+.txt2 {
+ font-size: 30rpx;
+ color: #999;
+ margin-top: 20rpx;
}
.arrow-right {
- width: 30rpx;
- height: 30rpx;
- margin-right: 30rpx;
- float: right;
- margin-top: 20rpx;
+ width: 30rpx;
+ height: 30rpx;
+ margin-left: 10rpx;
}
+.code {
+ margin-bottom: 10rpx;
+}
-/*---弹出层---*/
-.modal-box{
- position:fixed; width:100%;height:100%;
- top:0px; background:rgba(0,0,0,0.4);
+.user-txt-right {
+ color: rgb(153, 153, 153);
+ font-size: 28rpx;
+}
+
+.user-txt {
+ font-size: 32rpx;
+}
+
+.m_ta {
+ margin-top: 50rpx;
+}
+
+.g_img {
+ width: 480rpx;
+ height: 480rpx;
+}
+
+.s_sao {
+ font-size: 27rpx;
+ margin-top: 25rpx;
+}
+
+.order-ico1 {
+ width: 80rpx;
+ height: 46rpx;
+ margin-left: 40rpx;
+ margin-right: 20rpx;
+ color: rgba(0, 0, 0, 0.4);
+}
+
+.f_btn {
+ font-size: 24rpx;
+ padding: 0 12rpx;
+ margin-right: 26rpx;
+ margin-top: -10rpx;
+}
+
+.order-ico3 {
+ width: 54rpx;
+ height: 40rpx;
+ margin-left: 40rpx;
+ margin-right: 20rpx;
+}
+
+.wh1001 {
+ width: 62rpx;
+ height: 100%;
+}
+
+.wh1002 {
+ width: 76rpx;
+ height: 100%;
+}
+
+.order-ico.cla {
+ width: 32rpx;
+}
+
+.order-ico.cla2 {
+ width: 42rpx;
+ margin-left: 34rpx;
+}
+
+.order-ico.cla3 {
+ width: 40rpx;
+ margin-left: 36rpx;
+}
+/* 日期控件 */
+.pi{
+ width:200rpx;
+ height:auto;
+ margin-left:10rpx;
+}
+.vipmax{
+ margin-left: 20rpx;
+}
+
+
+/* 门店地址 */
+.xc-address_frame{
+ border-top:1rpx solid #eee;
+ width: 100%;
+ height: auto;
+}
+.on_height{
+height: 90rpx;
+}
+.sn_height{
+ height: 170rpx;
+}
+.xc-address_frame .address_frame{
+ width: 92%;
+padding-left: 10rpx;
+margin: auto;
+
+}
+.stores-img{
+width: 40rpx;
+ height: 35rpx;
+ margin-right: 10rpx;
+}
+.shop_name{
+ margin-right: 10rpx;
+}
+.address{
+ width: 87%;
+ margin-top: 5rpx;
+ margin-bottom: 5rpx;
+}
+.distance{
+ padding-left: 15rpx;
+ padding-right: 15rpx;
+ background: #eee;
+ border-radius: 20rpx;
+ margin-right: 5rpx;
+ color: #999;
+ height: 38rpx;
+line-height: 38rpx;
+
+}
+/* 选择门店的弹窗 */
+.mongolia-layer{
+ position: fixed;
+left: 0;
+top: 0;
+right: 0;
+bottom: 0;
+z-index: 11;
+background: rgba(0,0,0,0.4);
+width: 100%;
+height: 91.9%;
+
+}
+.popup-frame{
+ position: fixed;
+bottom:-1rpx;
+z-index: 20;
+background: white;
+width: 100%;
+border-radius: 20rpx 20rpx 0 0;
+height: 72%;
+}
+.popup-top{
+ border-bottom: 1rpx solid #eee;
+ height: 155rpx;
+ width: 95%;
+ margin: auto;
+ line-height: 155rpx;
+
+}
+.bg_rights{
+ border-top: 2rpx solid ;
+ border-right: 2rpx solid ;
+ transform: rotate(45deg);
+ display:inline-block;
+ width:15rpx;height:15rpx;
+ border-color:#da0b31;
+}
+.modal-closes {
+ position: absolute;
+ right: 30rpx;
+ top: 20rpx;
+ height: 50rpx;
+ line-height: 50rpx;
+}
+.choose_more{
+ margin-top: 40rpx;
+ padding-right: 20rpx;
+
+}
+.choose_mores{
+ margin-top: 30rpx;
+ margin-right: 15rpx;
+
+}
+.store-list{
+ width: 95%;
+ height: 72%;
+ overflow-y: scroll;
+ margin: auto;
+}
+.store-list .store_choose{
+ width: 100%;
+ height: 120rpx;
+ line-height: 125rpx;
+ border-bottom: 1rpx solid #eee;
+
+}
+.store-list .store_choose .store{
+width: 100%;
+margin: auto;
+line-height: 37rpx;
+padding-left: 20rpx;
+
+}
+.xc-hook{
+ width: 33rpx;
+ height: 33rpx;
+ transform: rotate(-145deg);
+line-height: 37rpx;
+text-align: center;
+}
+ .xc-hooks{
+ width: 30rpx;
+ height: 30rpx;
+ border: 1rpx solid #999;
+ }
+ .address-frame{
+ width: 93%;
+margin-left: 7rpx;
+
+ }
+ .nearby_store{
+margin-left: 17rpx;
+ }
+ .address_name{
+ margin-right: 10rpx;
+
+ }
+ .address-val{
+ height: 38rpx;
+line-height: 38rpx;
+
+ }
+ .store-bottom{
+ width: 85%;
+ margin: auto;
+ height: 70rpx;
+ }
+ .determine{
+ width: 320rpx;
+ height: 55rpx;
+ border-radius: 50rpx;
+ line-height: 55rpx;
+ }
+ .default{
+ width: 260rpx;
+ height: 55rpx;
+ border:3rpx solid #c8c8c8;
+ border-radius: 50rpx;
+ line-height: 55rpx;
+ }
+ .store-bottom-frame{
+ width: 95%;
+ margin: auto;
+
+ }
+ /* 门店分类列表 */
+.sort_store_list{
+ height: 82%;
overflow: hidden;
+ overflow-y: scroll;
+ width: 95%;
+ margin: auto;
}
-.modal-body{
- position:fixed;top:80rpx;left: 0; z-index: 100;
- background: #fff; margin-left: 73rpx;
- width: 600rpx;
- height: 860rpx;
- border-radius: 8px; text-align: center;
-}
-.modal-content{width: 480rpx; margin: 0 auto; margin-top: 60rpx; overflow: hidden }
-.modal-content .hd_img{ width:170rpx; height: 170rpx;border-radius:5px }
-.ctent_txt{ margin-left: 30rpx; text-align: left}
-.txt1{font-size: 34rpx; font-weight: bold}
-.txt2{font-size: 30rpx; color:#999; margin-top: 20rpx }
-.arrow-right{ width: 40rpx; height: 40rpx; position: relative;top:10rpx; margin-left: 20rpx;}
-
-.m_ta{margin-top:50rpx; }
-.g_img{ width: 480rpx; height: 480rpx}
-.s_sao{font-size: 27rpx; margin-top: 25rpx}
-.order-ico1{ width: 80rpx;height: 46rpx; margin-left: 40rpx;margin-right: 20rpx;}
-.f_btn{font-size:24rpx; padding: 0 12rpx; margin-right: 26rpx; margin-top: -10rpx}
-.order-ico3{ width: 54rpx;height: 40rpx; margin-left: 40rpx;margin-right: 20rpx;}
-
-.wh1001{ width: 62rpx; height: 100%;}
-.wh1002{ width: 76rpx; height: 100%;}
-.order-ico.cla{width: 32rpx;}
-.order-ico.cla2{width: 42rpx;margin-left: 34rpx;}
-.order-ico.cla3{width: 40rpx; margin-left: 36rpx;}
+.sort_store_list .sort-store-frame{
+ width: 100%;
+height: 100rpx;
+line-height:100rpx;
+border-bottom: 1rpx solid #eee;
+
+}
+.sort_store_list .sort-store-frame .sort-store{
+ width: 94.5%;
+ margin: auto;
+}
+.black_rights-frame{
+width: 50%;
+}
+.black_rights-frame .black_rights{
+ border-top: 3rpx solid;
+border-right: 3rpx solid;
+transform: rotate(45deg);
+display: inline-block;
+width: 20rpx;
+height: 20rpx;
+}
+.xc-val-money{
+ height:80rpx;
+}
+
+.xc-distance-bottom{
+ margin-bottom: 40rpx;
+}
+.xc-distance-top{
+margin-top: 10rpx;
+}
+.xc-width{
+ width: 100%;
+}
+.right-arrow{ width: 15rpx; height:15rpx;
+ border-top: 2rpx solid #d70026;
+ border-right: 2rpx solid #d70026;
+ transform: rotate(45deg);display:inline-block;
+ margin-bottom:3rpx;
+}
+.xc-goods-attribute{
+ border-bottom: 1px solid #eee;
+padding-bottom: 15px;
+margin-bottom:40rpx;
+}
+.xc-val-fream{
+ width: 105rpx;
+}
+.is_stock{
+width: 58%;
+height: 70rpx;
+border-radius: 55rpx;
+}
+.select_store_height{
+ height: 50rpx;
+}
+.butttem5{
+ margin-bottom: 5rpx;
+}
+
+.s_btn{ margin-top: 25rpx; }
\ No newline at end of file
diff --git a/static/icon/iconfont.css b/static/icon/iconfont.css
deleted file mode 100644
index 9920e53..0000000
--- a/static/icon/iconfont.css
+++ /dev/null
@@ -1,441 +0,0 @@
-@font-face {font-family: "iconfont";
- src: url('iconfont.eot?t=1554344875646'); /* IE9 */
- src: url('iconfont.eot?t=1554344875646#iefix') format('embedded-opentype'), /* IE6-IE8 */
- url('data:application/x-font-woff2;charset=utf-8;base64,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') format('woff2'),
- url('iconfont.woff?t=1554344875646') format('woff'),
- url('iconfont.ttf?t=1554344875646') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+ */
- url('iconfont.svg?t=1554344875646#iconfont') format('svg'); /* iOS 4.1- */
-}
-
-.iconfont {
- font-family: "iconfont" !important;
- font-size: 16px;
- font-style: normal;
- -webkit-font-smoothing: antialiased;
- -moz-osx-font-smoothing: grayscale;
-}
-
-.icon-ic_share_CopyLink:before {
- content: "\e681";
-}
-
-.icon-ic_share_Moments:before {
- content: "\e682";
-}
-
-.icon-ic_share_weixin:before {
- content: "\e683";
-}
-
-.icon-ic_share_img:before {
- content: "\e6c2";
-}
-
-.icon-icon_login_hiddenpa:before {
- content: "\e642";
-}
-
-.icon-icon_login_showpas:before {
- content: "\e643";
-}
-
-.icon-icon_login_password:before {
- content: "\e644";
-}
-
-.icon-icon_login_account:before {
- content: "\e645";
-}
-
-.icon-icon_login_verificat:before {
- content: "\e646";
-}
-
-.icon-icon_login_password1:before {
- content: "\e647";
-}
-
-.icon-icon_pay_default:before {
- content: "\e653";
-}
-
-.icon-icon_pay_successful:before {
- content: "\e654";
-}
-
-.icon-icon_positioning:before {
- content: "\e655";
-}
-
-.icon-icon_rightarrow:before {
- content: "\e656";
-}
-
-.icon-icon_home_stores1:before {
- content: "\e65c";
-}
-
-.icon-icon_home_invitation1:before {
- content: "\e65d";
-}
-
-.icon-icon_home_rights1:before {
- content: "\e65e";
-}
-
-.icon-icon_home_coupon1:before {
- content: "\e65f";
-}
-
-.icon-icon_classification_3:before {
- content: "\e660";
-}
-
-.icon-icon_classification_4:before {
- content: "\e661";
-}
-
-.icon-icon_shopping_reduci1:before {
- content: "\e663";
-}
-
-.icon-icon_shopping_addnu1:before {
- content: "\e664";
-}
-
-.icon-icon_page_return:before {
- content: "\e665";
-}
-
-.icon-icon_distribution:before {
- content: "\e666";
-}
-
-.icon-icon_registered_wind:before {
- content: "\e667";
-}
-
-.icon-icon_registered_swee:before {
- content: "\e668";
-}
-
-.icon-icon_details_shoppin:before {
- content: "\e669";
-}
-
-.icon-icon_details_share:before {
- content: "\e66a";
-}
-
-.icon-icon_details_collect:before {
- content: "\e66b";
-}
-
-.icon-icon_details_more:before {
- content: "\e66c";
-}
-
-.icon-icon_home_search_del:before {
- content: "\e66d";
-}
-
-.icon-icon_order_details_zhi:before {
- content: "\e66e";
-}
-
-.icon-icon_order_details_wei:before {
- content: "\e670";
-}
-
-.icon-icon_list_price_Unde:before {
- content: "\e671";
-}
-
-.icon-icon_list_price_on:before {
- content: "\e672";
-}
-
-.icon-icon_search:before {
- content: "\e677";
-}
-
-.icon-icon_mine_account:before {
- content: "\e67f";
-}
-
-.icon-icon_mine_account_au:before {
- content: "\e67c";
-}
-
-.icon-icon_mine_account_pr:before {
- content: "\e67b";
-}
-
-.icon-icon_home_account_no:before {
- content: "\e676";
-}
-
-.icon-icon_mine_order_eval:before {
- content: "\e678";
-}
-
-.icon-icon_mine_order_scor:before {
- content: "\e679";
-}
-
-.icon-icon_list_price_on1:before {
- content: "\e67d";
-}
-
-.icon-icon_list_price_Unde1:before {
- content: "\e67e";
-}
-
-.icon-icon_rightarrow1:before {
- content: "\e684";
-}
-
-.icon-icon_page_return1:before {
- content: "\e685";
-}
-
-.icon-iocn_shutdown:before {
- content: "\e686";
-}
-
-.icon-icon_order_stores:before {
- content: "\e687";
-}
-
-.icon-icon_hoem_qrcode1:before {
- content: "\e692";
-}
-
-.icon-icom_walle_detail:before {
- content: "\e690";
-}
-
-.icon-icom_walle_analysis:before {
- content: "\e693";
-}
-
-.icon-icom_share_weibo1:before {
- content: "\e696";
-}
-
-.icon-icom_share_qq1:before {
- content: "\e697";
-}
-
-.icon-icon_guide:before {
- content: "\e694";
-}
-
-.icon-icon_stores_address:before {
- content: "\e695";
-}
-
-.icon-icon_stores_phone:before {
- content: "\e698";
-}
-
-.icon-icon_distribution1:before {
- content: "\e699";
-}
-
-.icon-tab_mine_nor2:before {
- content: "\e69a";
-}
-
-.icon-tab_hoem_nor:before {
- content: "\e69b";
-}
-
-.icon-tab_shopping_nor:before {
- content: "\e69c";
-}
-
-.icon-tab_classification_n:before {
- content: "\e69d";
-}
-
-.icon-icon_hoem_share1:before {
- content: "\e6a2";
-}
-
-.icon-icon_message:before {
- content: "\e6a0";
-}
-
-.icon-icon_calendar:before {
- content: "\e69e";
-}
-
-.icon-icon_remind1:before {
- content: "\e6a8";
-}
-
-.icon-icon_prestore:before {
- content: "\e6a5";
-}
-
-.icon-icon_customerservic:before {
- content: "\e6ac";
-}
-
-.icon-iocn_tianjiaxinxi:before {
- content: "\e6af";
-}
-
-.icon-icon_bianjixinxi:before {
- content: "\e6b0";
-}
-
-.icon-icon_tupian:before {
- content: "\e6b4";
-}
-
-.icon-icon_weixin:before {
- content: "\e6b5";
-}
-
-.icon-icon_gouwuche:before {
- content: "\e6b7";
-}
-
-.icon-icon_yaoqingma:before {
- content: "\e6b9";
-}
-
-.icon-icon_zhifushibai-:before {
- content: "\e6ba";
-}
-
-.icon-icon_querenzhifujieguo-:before {
- content: "\e6bb";
-}
-
-.icon-icon_weihuoquzhifujieguo-:before {
- content: "\e6bc";
-}
-
-.icon-icon_sousuo:before {
- content: "\e6d2";
-}
-
-.icon-icon_gouxuan:before {
- content: "\e6c6";
-}
-
-.icon-icon_yinhangqiazhifu:before {
- content: "\e6c7";
-}
-
-.icon-icon_huorepintuan:before {
- content: "\e6c9";
-}
-
-.icon-icon_pintuanyure:before {
- content: "\e6ca";
-}
-
-.icon-icon_hoem_share:before {
- content: "\e6cc";
-}
-
-.icon-tab_classification_s1:before {
- content: "\e6cd";
-}
-
-.icon-tab_home_set:before {
- content: "\e6ce";
-}
-
-.icon-tab_shopping_set1:before {
- content: "\e6cf";
-}
-
-.icon-tab_mine_set:before {
- content: "\e6d0";
-}
-
-.icon-icon_mine_nodelive1:before {
- content: "\e6dc";
-}
-
-.icon-icon_mine_noevaluat1:before {
- content: "\e6dd";
-}
-
-.icon-icon_mine_arefund1:before {
- content: "\e6de";
-}
-
-.icon-icon_mine_notpaying1:before {
- content: "\e6df";
-}
-
-.icon-icon_mine_notreceiv1:before {
- content: "\e6e0";
-}
-
-.icon-icon_login_password_1:before {
- content: "\e6d1";
-}
-
-.icon-icon_login_account_i1:before {
- content: "\e6d3";
-}
-
-.icon-icon_login_verificat2:before {
- content: "\e6d4";
-}
-
-.icon-icon_mine_allorders1:before {
- content: "\e6d5";
-}
-
-.icon-icon_pay_choose1:before {
- content: "\e6d6";
-}
-
-.icon-icom_comments_pictur1:before {
- content: "\e6d7";
-}
-
-.icon-iocm_pay_wallet1:before {
- content: "\e6d8";
-}
-
-.icon-icon_home_welfare:before {
- content: "\e6d9";
-}
-
-.icon-icon_mine_order_scor2:before {
- content: "\e6da";
-}
-
-.icon-icom_jump:before {
- content: "\e6db";
-}
-
-.icon-iocm_questionmark:before {
- content: "\e6e1";
-}
-
-.icon-icom_questionmark:before {
- content: "\e6ec";
-}
-
-.icon-icom_Downarrow:before {
- content: "\e6ed";
-}
-
-.icon-icom_sousuo:before {
- content: "\e6e2";
-}
-
-.icon-icon_mine_setup:before {
- content: "\e6e3";
-}
-
diff --git a/static/icon/iconfont.eot b/static/icon/iconfont.eot
deleted file mode 100644
index e6f8e4c..0000000
--- a/static/icon/iconfont.eot
+++ /dev/null
diff --git a/static/icon/iconfont.js b/static/icon/iconfont.js
deleted file mode 100644
index 8724c8f..0000000
--- a/static/icon/iconfont.js
+++ /dev/null
@@ -1 +0,0 @@
-!function(a){var c,h='',l=(c=document.getElementsByTagName("script"))[c.length-1].getAttribute("data-injectcss");if(l&&!a.__iconfont__svg__cssinject__){a.__iconfont__svg__cssinject__=!0;try{document.write("")}catch(c){console&&console.log(c)}}!function(c){if(document.addEventListener)if(~["complete","loaded","interactive"].indexOf(document.readyState))setTimeout(c,0);else{var l=function(){document.removeEventListener("DOMContentLoaded",l,!1),c()};document.addEventListener("DOMContentLoaded",l,!1)}else document.attachEvent&&(h=c,i=a.document,o=!1,s=function(){o||(o=!0,h())},(t=function(){try{i.documentElement.doScroll("left")}catch(c){return void setTimeout(t,50)}s()})(),i.onreadystatechange=function(){"complete"==i.readyState&&(i.onreadystatechange=null,s())});var h,i,o,s,t}(function(){var c,l;(c=document.createElement("div")).innerHTML=h,h=null,(l=c.getElementsByTagName("svg")[0])&&(l.setAttribute("aria-hidden","true"),l.style.position="absolute",l.style.width=0,l.style.height=0,l.style.overflow="hidden",function(c,l){l.firstChild?function(c,l){l.parentNode.insertBefore(c,l)}(c,l.firstChild):l.appendChild(c)}(l,document.body))})}(window);
\ No newline at end of file
diff --git a/static/icon/iconfont.svg b/static/icon/iconfont.svg
deleted file mode 100644
index e941a18..0000000
--- a/static/icon/iconfont.svg
+++ /dev/null
@@ -1,344 +0,0 @@
-
-
-
-
diff --git a/static/icon/iconfont.ttf b/static/icon/iconfont.ttf
deleted file mode 100644
index 5cec7f7..0000000
--- a/static/icon/iconfont.ttf
+++ /dev/null
diff --git a/static/icon/iconfont.woff b/static/icon/iconfont.woff
deleted file mode 100644
index c20027a..0000000
--- a/static/icon/iconfont.woff
+++ /dev/null
diff --git a/static/icon/iconfont.woff2 b/static/icon/iconfont.woff2
deleted file mode 100644
index 6f229e8..0000000
--- a/static/icon/iconfont.woff2
+++ /dev/null
diff --git a/utils/pay2.js b/utils/pay2.js
new file mode 100644
index 0000000..a99a44c
--- /dev/null
+++ b/utils/pay2.js
@@ -0,0 +1,40 @@
+var t = getApp(), n = t.request;
+
+module.exports = {
+ url: "/api/weshop/plus/create/plus/order",
+ pay: function(dd, succ,fail) {
+ var i = this;
+ n.post(this.url, {
+ data: dd,
+ success: function(t) {
+ if(t.data.code==0){
+ i.weixinPay(t.data.data, succ,fail);
+ }else{
+ "function" == typeof fail && fail();
+ }
+ return false;
+ },
+ fail: function() {
+ "function" == typeof fail && fail();
+ },
+ failStatus: function() {
+ "function" == typeof fail && fail();
+ }
+ });
+ },
+ weixinPay: function(n, succ,fail) {
+ wx.requestPayment({
+ timeStamp: String(n.timeStamp),
+ nonceStr: n.nonceStr,
+ package: n.packageValue,
+ signType: n.signType,
+ paySign: n.paySign,
+ success: function(n) {
+ "function" == typeof succ && succ();
+ },
+ fail: function(n) {
+ "function" == typeof fail && fail();
+ }
+ });
+ }
+};
\ No newline at end of file
diff --git a/utils/util.js b/utils/util.js
index 1e0deb7..5de0a30 100644
--- a/utils/util.js
+++ b/utils/util.js
@@ -258,6 +258,7 @@ function get_rand_item(arr){
return arr[ind];
}
+
function getDistance(lat1, lng1, lat2, lng2){
var radLat1 = lat1*Math.PI / 180.0;
var radLat2 = lat2*Math.PI / 180.0;
@@ -269,6 +270,45 @@ function getDistance(lat1, lng1, lat2, lng2){
return s;
}
+//画布画椭圆矩形
+function draw_randon_rect(ctx,x,y,r,w,h){
+ ctx.save();
+ // 开始绘制
+ ctx.beginPath();
+ // 因为边缘描边存在锯齿,最好指定使用 transparent 填充
+ // 这里是使用 fill 还是 stroke都可以,二选一即可
+ ctx.setFillStyle('rgb(237,188,150)')
+ // ctx.setStrokeStyle('transparent')
+ // 左上角
+ ctx.arc(x + r, y + r, r, Math.PI, Math.PI * 1.5)
+
+ // border-top
+ ctx.moveTo(x + r, y)
+ ctx.lineTo(x + w - r, y)
+ ctx.lineTo(x + w, y + r)
+ // 右上角
+ ctx.arc(x + w - r, y + r, r, Math.PI * 1.5, Math.PI * 2)
+
+ // border-right
+ ctx.lineTo(x + w, y + h - r)
+ ctx.lineTo(x + w - r, y + h)
+ // 右下角
+ ctx.arc(x + w - r, y + h - r, r, 0, Math.PI * 0.5)
+
+ // border-bottom
+ ctx.lineTo(x + r, y + h)
+ ctx.lineTo(x, y + h - r)
+ // 左下角
+ ctx.arc(x + r, y + h - r, r, Math.PI * 0.5, Math.PI)
+
+ // border-left
+ ctx.lineTo(x, y + r)
+ ctx.lineTo(x + r, y)
+ // 这里是使用 fill 还是 stroke都可以,二选一即可,但是需要与上面对应
+ ctx.fill();
+
+}
+
module.exports = {
formatTime: function(e, r) {
var t = e ? new Date(1e3 * e) : new Date(), n = t.getFullYear(), o = t.getMonth() + 1, a = t.getDate(), u = t.getHours(), i = t.getMinutes(), f = t.getSeconds(), s = function(e) {
@@ -359,5 +399,6 @@ module.exports = {
measureText: measureText,//画布需要的函数
check_mobile: check_mobile,//验证手机
get_rand_item:get_rand_item, //随机获取元素
- getDistance:getDistance //获取俩个经纬网度之间的距离
+ getDistance:getDistance, //获取俩个经纬网度之间的距离
+ draw_randon_rect:draw_randon_rect //画图画圆角矩形
};