diff --git a/app.json b/app.json
index 58e6904..efb85db 100644
--- a/app.json
+++ b/app.json
@@ -69,8 +69,11 @@
"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"
+
],
"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/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/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..45e9fc3
--- /dev/null
+++ b/pages/user/Detailed/Detailed.js
@@ -0,0 +1,441 @@
+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 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, 930 * unit);
+ ctx.setFontSize(26 * unit);
+ ctx.setFillStyle("rgb(0,0,0)");
+ ctx.fillText(user.nickname, 155 * unit, 75 * unit, 200 * unit);
+
+ var tj_path = "../../../images/share/q_tj.png";
+ ctx.drawImage(tj_path, 385 * unit, 45 * unit, 90 * unit, 30 * unit);
+ ctx.setFontSize(18 * unit);
+ ctx.setFillStyle("rgb(255,255,255)");
+ ctx.fillText("强烈推荐", 394 * unit, 65 * 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("开通会员年卡仅" + big_card.CardFee+"元", 80 * unit, 240 * unit);
+
+ 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元", 105 * 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("超级VIP权益", 100 * unit, 475 * unit);
+
+ ctx.setFontSize(20 * unit);
+ ctx.setFillStyle("rgb(198,165,126)");
+ ctx.fillText("超级会员专属权益", 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("超级VIP标识", 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("超级VIP价格", 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..7256929
--- /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: 229rpx;
+ 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..7eccfd0
--- /dev/null
+++ b/pages/user/cardinfo/cardinfo.js
@@ -0,0 +1,703 @@
+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:"",//卡到期时间
+
+ },
+
+
+
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ 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]);
+ ee.setData({cardid: GradeCardID,
+ expiryDate: expiryDate
+ });
+
+
+ })
+ //-----------会员分佣-------------------
+ await getApp().request.promiseGet("/api/weshop/plus/vip/mem/freeze/money?userId=" + getApp().globalData.user_id + "&storeId=" + os.stoid, {
+ }).then(res => {
+ 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 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');
+
+
+ //先画背景
+ ctx.drawImage("../../../images/share/mackground.png", 0, 0, 554 * unit, 930 * unit);
+ ctx.setFontSize(26 * unit);
+ ctx.setFillStyle("rgb(0,0,0)");
+ ctx.fillText(user.nickname, 155 * unit, 75 * unit, 200 * unit);
+
+ var tj_path = "../../../images/share/q_tj.png";
+ ctx.drawImage(tj_path, 385 * unit, 45 * unit, 90 * unit, 30 * unit);
+ ctx.setFontSize(18 * unit);
+ ctx.setFillStyle("rgb(255,255,255)");
+ ctx.fillText("强烈推荐", 394 * unit, 65 * 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("开通会员年卡仅" + big_card.CardFee+"元", 80 * unit, 240 * unit);
+
+ 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元", 105 * 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("超级VIP权益", 100 * unit, 475 * unit);
+
+ ctx.setFontSize(20 * unit);
+ ctx.setFillStyle("rgb(198,165,126)");
+ ctx.fillText("超级会员专属权益", 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("超级VIP标识", 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("超级VIP价格", 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();
+ this.setData({
+ j: true
+ })
+ },
+
+
+
+ //--转到用户余额--
+ to_user_money:function(){
+ var th=this,free=th.data.free;
+ if(!th.data.free.RefereeMoney){
+ 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.RefereeMoney=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..3058b7f
--- /dev/null
+++ b/pages/user/cardinfo/cardinfo.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/cardinfo/cardinfo.wxml b/pages/user/cardinfo/cardinfo.wxml
new file mode 100644
index 0000000..559fe51
--- /dev/null
+++ b/pages/user/cardinfo/cardinfo.wxml
@@ -0,0 +1,126 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{user_card.CardName}}
+ 会员将在{{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..88a432c
--- /dev/null
+++ b/pages/user/cardinfo/cardinfo.wxss
@@ -0,0 +1,154 @@
+ @import "../../../utils/wxParse/wxParse.wxss";
+ .Member_bk {
+ position:relative;
+ z-index: 0;
+ width: 100%;
+ height: 100%;
+}
+.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;}
\ 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..d8893ed 100644
--- a/pages/user/index/index.js
+++ b/pages/user/index/index.js
@@ -12,25 +12,26 @@ 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,21 @@ 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!="" ){
+ th.setData({is_dengji:1})
+ }else{
+ th.setData({is_dengji:2})
+ }
+ }
+ })
+
}
});
diff --git a/pages/user/index/index.wxml b/pages/user/index/index.wxml
index bb47691..5e83b50 100644
--- a/pages/user/index/index.wxml
+++ b/pages/user/index/index.wxml
@@ -1,270 +1,278 @@
-
-
-
-
-
-
-
- {{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}}优惠券
-
-
-
-
-
-
-
- 加入会员
- 预计可省345元
-
- 立即开通
-
-
-
+
+
+
+
+
+
+ 5000/10000
+
+
+ {{yuer?yuer:0}}
+ 余额
+
+ {{udata.Balance?udata.Balance:0}}
+ 预存款
+
+ {{udata.Integral?udata.Integral:0}}
+ 积分
+
+ {{udata.CashCount+byquan?udata.CashCount+byquan:0}}
+ 优惠券
+
+
+
+
+
+
+
+
+ 加入plus会员
+ 预计可省3031元
+
+ 立即开通
+
+
+
-
-
-
-
-
- 待付款
- {{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..8f09d15 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,18 +145,18 @@ 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: 75rpx;
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+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+/+4ADkFkb2JlAGTAAAAAAf/bAIQAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQICAgICAgICAgICAwMDAwMDAwMDAwEBAQEBAQECAQECAgIBAgIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMD/8AAEQgA2gPtAwERAAIRAQMRAf/EAIAAAQEBAQEAAwEBAQAAAAAAAAADBAIBBgcIBQkKAQEAAAAAAAAAAAAAAAAAAAAAEAABAwIDBgUDAwIFAwMFAQABABECITFBUQPwYXGBEgSRobHBBdHhBvEiMhMHQiMzFBVigkNSolOSsiQ0FggRAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhEDEQA/AP8AhnQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQfs7//AD9+Gj4j4XuPyzvNJvkPmo/0Pj+uI6tD4yEv3akerT64S7vVi9JEShGKD9CmbhsT6IJmXSH22ZBMycUxuK+qCMp1YYU80EZSuQRu9vRBnM+mla5fTKqCEpO58NuKDNLUIpdy/APh4IIzkDXIDjf6oMcpMQ3Pggzy1CXpXMW5IMWpK7YUQZJT6fevkgzzmCC2Plm6DJIud23JBn1JNy83QQnqBr33+TVLIMUzTeSgw6kjU5U4bFBh1JeXqUGKcm9TtdBmnqPuckcmoLXQY9SV/AIMMy54U5oMWocMTVBk1Dfd9AgwzOHigyzLnhT6oJTNOKDLM14beKDNM1OQ2KDHI0L4v5oM8iw3myDJqxhIfui5qxsfG5QYZ6Uo1FR5oJICD+t8H8VrfNfKdp8dogvr6sRqS/8Aj0Yl9XULkfxh5oP1n2vbaPZdtodn28RHQ7bSho6cRQdMAz8SaoKyLYs+N2QRQcTNAM/ZBJBGRcnwCCUywbNBJBCRckoIzNWy24IJTLD7sUECQA5QQQQJcughMvLyQQmatl6/oghM2HighMsGzQRJYOggaVQZybk8SggS5dBCZctSm10HKDiZYNnfNBJB9foCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg+Yfgf4trfmH5P8b8LDqGhqao1+/wBUOP6PY6BE+4n1AS6ZSj+yJYjqkEH+jGhpaPZaGh2fbacdLtu10NPQ7fRgBGOnpaUejTiAAAGiAg6lJzQ0FjxQcdYJZyfTkglObEkYebIJSlR3qfU18UGcyY86jlcIIzlcg3ttWtEGeUzENcHBBnnJ6vhSvizb0GWcmau8/VBGUwXL1OWbeyDFqTY8KDjigzzmDR7VL518aIMWoXvcl+CDLKRqOX6oOEGPUlhzOHoaFBi1J1o/P7YIM09QF87NfnwQZNSWFaVKDBqGo8fH9EGHVk77z5D9EGLUl5UHugzT1BQF6X4mg4fdBkmaXqcsc0GOcrl7W9kGLUl6uduaDHI3KDOgjqSDUqB62QZJGhPHxP3QZZmjZ7eqDLMuWy9UGeZq2SDNIuUEJmrIM82ffig4Qffn9r/gT2fY63zfcQbX77/K7R3Bj2sT+6bFv9WVjkg+1EEpnB6ZbxyQcIIG529yg5LAF9vCqCCCMqyO21UE5FhxogigzlBGRc8LIIzNhh7oITNGxKCJLAlBAlnJQZzmUEJFyTs36IM8i5JQSmcMroITNGz9kGeZYNmghIsP19kEUBBCRc3cYIOH/czYX2wQfAUBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQftT+xf4h/wP45qfP8Ad6Zh8l8+Iz0eoSEtD4yBP9AN1EP3Uz1uAHiYg2QfePW7nHfign1GNXPrszoJyniGJdBIzf8AacKvtjVBKcq7hV0EDOlL70EJyIpXO59EEZyBetbb/dkGUzILPTEb8eaCGpK+9/AIMstTpN6Y8a+iDNqHyD8UGOcmrifZBCU3D0pl74oMxLAlBmM2o537kGec3BOdPC/JkGCcqEvWwb2QZJTYnIXxfHyQZZ6hLk8ftkgxzlQ5nb0QYtSV91Bx/VBh1Dv3nPmgwahtm7oM5mGIrkNnQZ9Q/XbFBi1JXONggyTNhzQRkWHkOKDLqHDn6oM2ocK2tmgyykCScN6DMTcmmKDNI0Js78n87oIE3OzlBmJYPtuQRJckoP7n438Nq/O/L9p2EAf6c9QT7iYBI09CB6tSUiBRxQbyg/V+jo6XbaOl2+hEQ0dDThpacRYQgOkIKGlUGdBzIsDtVBFBKdwglIsOOxQRQRmXO4bFBGZwzQRkWH1QR3lBnQRkXPCiCEzVsPdBCZsM0EZlhxp9UGeRYOEEUECXJKCEi5PggzzLnhRBCZq2A80HCDwlgSgggg5d8UHwZAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQfOv7dfic/zD8o7H42UZf7HSl/vPk9QAtDstAiU4EiUTGWvJtMEVBk+CD/AEDiNPR04aWlEaelpwjp6WnANGGnpxEYRAsBGIAQeSk7Mc39EHBm4Y3wwf2KCRmQTZtsigl1AuXtUkeKCJm/7Tc148UEZyYu7MgjKYLtQnd4oM0p9J3Cp+iCE5UoQSTu4oM0tRnfC1cbIM05PwuT5oMk9TDAkoIakrkYBhtxQZSWBKCcpOGCDHqyfe9H3XsgxzmxIo1vIoM+rJvXmgwzLBs0GGcmrmc/HxQQnJwSDYNwPiUGLUkwvvPsgw6kvOp4IMM5Y1qWG67UQZJyIOTY02CDOdQl8z5BBmmatgNq8EGUlySgjM4PQetcUGWcrmrcnQZNSRvmfD0QZpmjZ+n6oM8zQcfY4IMszgghM4eKDPM2HH6IJoP0N/bT4D/jvi5/K9xpt3XyYB0uqLS0+0j/AAqQCP6pPUeSD7KQcTNGz9mQSQSlIGz3QcGgJyQZ7oJTNWemPFBMlgSghepQQJckoIzNWyQRmaAIIyLDb6FBnJYOggc0ECXLoIzLlstigzzNW2dBGZYNmghIsPJBA2PAoIIM5Ll0BBKZLtggjMsGz9EEkHwdAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQftr+zX4kPxv8Zh8h3On0/K/Px0+71OqLT0exAJ7PQe464n+obfyY2QfbnXWpdrHd51qgn1kOcMkHEpipfk77BBI6hZj40Zhm+ZKCUp9NPHhxQSMgXlzugiZvSg90EZyY7hnmgzym9uJPjSwQZpanTwtzzCCGpKl6XPqPFBkOoRQm+7xQZpyufD0QZ324oOJmjeW5BjlM1Nn2ZwCUGfUlj4IMGoWzpt7oMxngTlh5+KDLqyuHd3ZrM6DDqSvutx/VBkM2LbeHBBm1D5knkgw6kr4vQbZIMepJuVeaDDqHDE1O3FBk1Js+VqZoJSkCDWpP3fgglapQZZmmb5+3BBmmaN7+2SDJMgnhtbcgzSLl8B6IM8i5JwHsgzk1JKCEi5O6iDPIueFEHyP8T+Dn8/812vZ9JPbwkNfu5ABo9vpkGQLuP8w/t5oP1TCENKENLSiIaelCOnpwiABGEAIxAAAYABB0ghIuSfDgg5JZBAly6DiZwzQSKDOgnM2D8fZBGRYeSCKCBLkmyCEi53IIzNhttRBnmbBBCZYNmgiSwJQZzQbBBBBGZc7gghMueGxQZ5mrc+aCMyw4oJIPCWBKCCCBLl0HD/ALmrb78bIPhKAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICD7E/tj+Jn8s/J+17fWgT8b2Dd/8AJyZ4nt9GQ6dCoYnudVoNfpJOCD91GQAaLREQIxiAAIxiwjGIDACIsg46yzeaDk6jBiRXdVBOUmI80E5S6i4wp4cggiZu4euGZrfOwQSlNqN7IJSlV3o9N2zIIS1Oqn3oMNyDNKZDy/T03oIykCzHj5IMx1MKC/FmN6oMupK5G4DYoIEvflu3IJTNgOJ9kGczcY5cqtmgy6km4D1QYzNnGVd+TcAEGbULDdjyqgxSk37t428EGeUnBLkgUwx4UxQY9Q8AM/r4oMM5MCbE7FBl6xWm29Blma8B+qDFqSfia7mQY9SVSciw8UGPUPmX28UEkHEzRt/kgyTLnhTzKDLqEhzkaPx+iDNIsH2dBnkWBQZZmjZ+iCEiwO/9PdBnkWF2y5V82QRQfpH+3f4//wAP8MO87iHT3vygjrFwOrT7b/w6e7qieo8UHz9BzP8AiUEUHEzRn4jbggkghIuSgnM0Axd0EkEJVJ4oITNeCCUywx29EEJFh5bckECWqUESXLlBnJckoITLm7jbxQRmbBBnmcOaCRLAlBnNAeCCCCBLl0EJFycsNt6DlBxM0bNBCRYcfBBAlqlBFy74vtyQfDkBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQACSAASSWAFSSbADNB+3P7V/io/FvxnQPcQ6fk/l46fyHfOP3acJQfte2NAR/S0ZOQaiUjkg+yZTIoNz+H3QcmbmlPXA+yDky6jvseWW6qCX9Tjt6l0EzIxYOa70EZFyglKdKGuG76IImTUOPmfq4QZ5yYkirnk2+yCUpdXi6DOZFyxZ6X9PBBmmak3w8LoM5JLbZ/VBOZIZkEZzcOMbbbkGOU2JrQbb8UENSViTvPsgwTkXpTHxdBDUk4fO3D6IMWrK92tzrVBilJjTC+W7egjqFwd5+/sgw60hbZ8UGKcmxIa6CEpAxxr7HFBi1JXOdBuQZJnDm+WzIMki5dBKUi7A8droJSnib2bHYoM8jQ1Y1KDHMuWy9UGeZr5efkXCDPM1bL3ZBlkXJQRmXLZfb3QZ533D6AoPln4T8CfnvnO30pxJ7TtSO67w1Y6enIGOm+erNhwdB+oWAaMR0xiBGMQGEYxDAAYAICCM747ZIOUECXJKDiZYcafVBFBAlySgnM0bP2QRNEEDWqCMi5pam3mghM1bJBGZYUz+qCEiw3nYoIEsCUECcSghIuSfDggzyLn04IJTOHNBnmbDdXbkghMsGz9EEZFg6CCAghIuUEZmrPb1QRmcPr4oJIPh6AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIPs7+1X4r/8A0n5Lo63c6fV8Z8R0973jj9mpOEh/t+3yJ1NQOR/6QUH7Q6wTWn2sByQcibXc1ug562Bff5oODLpG1Q4dBOU3Zt/09EHEtQEVwNRvdkEDNgxN9vBBEzrSw8EEZzcUJqX4B/KyCRkLE2Fq0CDPKbF7PluCCE5XIfC+f2dBAyJDFBORZstvZBDUlcvu5eyDKZs4GD+KDNqSz4lBklqByCbtyy3IMs5Y52rbggyGdS1RggzaknJfCpPL2QYpyvmduSDPKd8xT7oMmpKpfCp4lBh1JEnjXf8Aogzmd91B7oMszVq5/ogxzljStG5IM5sUGeRYE76YoIIJTOG+nhUZXQZCbnmgzylc+iDNOVz4bbkGclgTdBAl6lBC5oCXNBjU0HFB+nPwT4D/AIL4LSnqwA775Dp7nuSR+6EZxfR0cx/Tga7yg+ZoPCW25oIIOJlg2J9EEkEp34IJyLAoIIIyLm9MEEpmjZoIksCUEEGcl8+dUEZFzRBCZdmP0/VBCZwQQmWDYlBCRYEoIoM5NzzQQJcnifVBCZc8KIITNQNq/og4QcyLDYIIoM6CMi5vTBBN/wBzbvO/og+IoCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDqMZTlGEImU5yEYxAcylItGIGJJKD9tf28/Gofiv432na6kBH5DvRHvfkpN+4a2pH/AC9EmhbQ0yA2BdB85Mw1L+iDgzdsCDnuyQeGb0JAbk/sUEzPpLYZPj90EzMhy+25BOU8QQSUEpTcPSjoJnUDNYnPHdmgz9d6PWlUEpSapxNeGJQQnMFyMA2F/wBUEHoBgEHEpdLbbVQR1JuHHAeaDKZAEg4fR0GbUlXm/DKqDPLU6hvty9EGLUkxPFhyQQnOgOQ8z7IMWpLpFzyvlmgzSm4Ob8dqoMupJuXIlBjlNiwrmgzahoBzQY5m5BZBjlJjStPOqCOpK+Z9EGSZctl6oIzLBs/RBlma7hv9Rmgy9Rd/0yQTmaXq7oM8ywbP7IM8zht93QZZly2ToIzJFKMUGeZYNifRB81/APx//nPm9PU1odXY/H9Pc9w4PTOcT/kaL/8AVMOdwQfpiRwFhTbgg5QcTNGz29kEkEZFyd23qg4kWDoIIJTNWy9UE5Fg/hxQQQRkXO7BBCZq2XqgjM0Az9kEJFonw8UECWDlBBBAlySghIuT4IITLlsvsgjMsGzQQmWHGiCBLAlBAlnJQZ0BBKZq2SCEzg/EIJSLB9ue5BnJYEoIPV8boPi6AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg+1v7Tfi/8Aznz4+R7rT6vjvhunuJ9QeGt3ZP8A+No1BiekjrIyCD9bf1CSSaufAe6DzrY0sWvhm1UHBkC8sMPQIOeoEP8Arv8AJBzKfUL1fxCDgyoz2ryqgl/UAvmwI8qFBGcmIaznbcglOWPD78wglKVm28EETPCrild1fBBF/V0HMpM3HyCCM5YncP0dBlM7h7YHNj9EGect9Tt7IM8pOHu9PLwQZDIufD78UGeZrhTY+iDIZAEh86l3Z/DBBk1T4EnysgzGRBLEF7VdsPFBn1DhlUoME5ZUc1bkb3xQQnKj428DWiDJqFtzB9ggw6h8y6CUpUrgLbnQZ0EJSeuAfbwQZdSQri7ttkgyyk1rlBMl6lBCRrVBnmandtuQZTWqCMi5PlwQQIlOYjEGUiRGMQHJJLAAYkkoP1P+GfAx/H/g9DRnEf7zuQO672X+L+rqAdOkammjBo8XQfJkBBAkkuUHJLBBBBKZq2SDhBAl6lBGZsNsvJkE5Fg6CBpVBnNaoISLl0EZmoCCMzQDM+iCEiw45bWQQkWBQZyWBKCBrVBGX8ighMuWy2KCE8BX2/UIITNGz9P1QSQEGdBAlycNsd6CUzgOaCEyw4oJIPi6AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICCmlpamvq6ejpRM9XV1IaWnCNZTnOQjCI3ykWQftT8M/H9P8AGPx/svjYgf7qcR3PfzA/dPutUCUgf+nSB6RwQfLOsNvbzsg5OoWbHPnkg4Mmo98Pte4QeGYDb/RBwZ1cWGZ9UE5TIqDc2rWtfBBOUnHmQgl1jF3FGy3IImT/ALSd7IJGZelskHCCcpUo9fJkEZSYGtRQeFOSDPKbU8sAgzTOGzIITk4u70HjVBmlOhANfv7oMupJv+2vP2qgzym8fUcMkGPUk1d+NaYoM8pY+HhRBk1JX31NOdEEJycULvQnlaqDFqG55W5YMgy9QqMtm4oM2oXN71+iDJM1OQptzQZfdBzIsN7U8vqgzTNGxO1UGWZq2XugyzkHfB2FNqIJmYb2+u5BGVibenBBkmcOY4/RkEZFh5IISLAlB8+/tx+P/wDL/Mjvu40+rsvjDHWl1B4anck/5GncOxBlj/FB+kJmjZoJIOJlg2J9C6CSCczgNmQTtUoIEvUoOJlhxp9UEUECXLlBKZsPFBCZo2d0EJFggigzoIyLnhRBCZctl6oITItkgzzNhntRBIlgUGclhntzQQNaoIEuT5cEEJfyKDlBxM0bPbmghMsKbfRBHyQQJckoISLn2OBxQcoPi6AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICD7c/tJ+N/8n8xP5nudPq7P4iukJAGOr38x/lhi7/0YHqszsg/TxkSXt9rPhRB4ZdWVMUHhk9CR41y9kHPWC4e2Zog86w5pb1yQT67xJv7nDig46w7Vvy9UEjqdJvQmgO1EEpSIIaoZBwS5JQeIJGbjLPggiZs4bhlxQZ5TY54nigz6ki++7+SCEpOCSXem2SDP1gFvNBlnMiRO6uRQQ1JPzL0QZDIuSNrD2QZdWV67h7oM70bAIMuoTXB+fKpeiDKZ3bkf1CDNqFuQJ28EGOUgKnEoITLubbMEGOZsEE0EpmrZeqDLOVTuttvQZJlhvOxQZJmrZIOEEp4Vw2PNBlkXKCM2enP28igmIT1tTT0dOJnPUlGEIgEmU5npiAAHJJKD9W/inwcPx/4XtexYf7iURr95Ojy7nUAMwSLjT/iNwQf3ZFycth7IPEEZlzZsPug5QQJdBOZo2zIJIIyL/TLPiglMsOPpigkggSSXKDPIufRBGZqBzQRmWDZ+iCEiw45bWQQJYOggTcoIEuSUGeRcv4IJTOGV/ZBnmcPFBCZYcfTFBCRYY8kEUBBCRc55cEEJlzemCCMzhmgkSwJQQQePVtzoPjCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgILdvoavda+j22hAz1tfVho6UBeU9SQjEeJQfsz8X+F0vx34Tsvi9Lp/qaWl/U7qYZ9TudX92tMkXYlhuQf3wSLfZB51/wCJ7b8RTEoOTMVL1yte6DzrDP5Uf9EHJm7M4z9kE5agk5xA96HzQcdYY4FBNybklAQcGYBbxKCUpVqTWnLegjKZBvSwyz9kEZyYUO8tfcghOQIcG9/fggzmYILGu/bJBnMmLXp5oM85t6koM85PR3e/igzGdKXs+7xQZdSTF8Rbeb+6DPOT1wZ8eaDIZMXOJOzVQQ1JX8Bz5IMZmxphfbcgjqS832dBi1JMeFAPVBGUgWZBlkXLoIykeqmG3ugnKTOcSgyTJt47XQZZy8AgyEs5KDwSBG+tOAQZ5EgUugiafeiDOTclB9k/2y/H/wDkflJ/L9xB+1+MkDpdQBjqd5IPpgdUSCNGP7qEEFkH6GkWCCCDwlgggg5kWB3oIoIyLnba6Ccyw479nQRQSmatkgjMsGz+yCEiwKCNqlBAlySghIufJBCZctljighM2Dc0EJmgGfsghMsN52KCJLB0Gcm5KCMi5JQQmXLZIM8zVuaDhBzIsN5ttuQQJYEoIIIyLndhb2QQmcNvVBwgh1fu6t+w8EHx5AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEH3D/AGm/Hv8AdfIanz3cwfQ7AnS7MSdp93OP7tQWf+lplhvO5B+husOz38K58UHvU2ND4fRByZAMHv4ZIPDNiMR929kHhnWlQg56j68n9UHKAg4lJrVr6e6CZk9bNlu90E5SpTHFBGUnDvgw4oImRNCeW6iCMpuG4eHtZBnM3cDxdBAzY7h5lBDUlXLF3wyPJBDUkSBW/p90GaUgxGNkGaUiDTD3QZtSXNnJ4oMxkSG3+WSDNqSYvfBBCcwz4jZkGOUmfNBGcqEngNgyDDM1uCANqoJGQZwa4IImxQZpybiS6CcpO2DOgyyNztuQZJyIpm757FBmmcOb+yCaCMiDZ9skEZnBuBfxQeaWjq9zraPbaEDqa2vqw0tOEQSZTmRGIAFSSSg/WP458NpfA/Edp8dpiJnpwE+4mP8Ay9zMA6s3YEjqoHr0gIP68zUDL3QcIJTNWyQcIIzv+iCcjQ4YIIoIyLlsAg4kWDoIIIyLk7qIITNWy90EZmjZoISLA76IIEsHQQQQkXJOHsgzyLndggjMuWwHqghM2HNBGZYcUECWBKCBzQZ0BBGZctgPVBGZsP1QRmWHFBFBAlzd/JBOZo2e2aCSD4+gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgINPZ9rrd93Xb9n28DPW7nVho6cQCSZTkIuQAT0xucgEH7B+C+J0fhPiuz+M0AOnt9KI1JD/ya0g+tqm9ZzJKD+sgICAgbbeKDxw7PVBwJ3fkg5M3DG90ETO4F89sUE3uHvdBMzP7hxA9CgiZgFr38UETKt26vNBGU2N2wzHFkGeUqu9Ba+zoIzlS4rUnbeghOQIu7tyCDOZ3GNQMkGYzIJA2KDNOWHiSghOTsHO++5roMpkXLcMDT0QZ9SV93r+qDOZEgDx3oMs53PgNnQZ5SPThS2CDJMsGzQSQcTNGzQY5SBJOAQTlINe9mQZZnDKpQZZFy708GH2QZyXPog5Joc2ogiS5dBnkam5alq+SD7S/tf8Aj/8Au+/1vnO4g/b9iTp9p1Cmp3cx+6YwI0Yf+4hB9+EsCUEEBBnNSg8JYGtWLIIIJzOHjT3QSJYEoIIJTOD02ugmSwJQZyWDoIkuSd6CEi54UQQmatkghM4ePsghP+PE/f2QQkWHGiCNqlBnOzoIEuXQRmatl7sghM4YbXQZ5mw5oJoPCWDoIGlUECXLoITLnhT6oJTLDigkghIuX29Sg5cOz1QfwEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBB9y/2q/Hxqa+t+QdzD9mh1aHYCQpLWNNXWi9+gftG8lB979e7Hy+qB10314eqDzrLb9uOCAZkjLP7IPDMkN4nayDjqer/AKIODqPm+9B4ZuA1Dig4lN/3XwpsUEpSqCC33QTlIs5qUEpTxs36+qCMpZHbegnOVHx8sOd0EJzpm18HPmgjKTgBq4oM5m4Ia9uH1QQlK4HDmgzymxYYX23IM85NjVw/jTxKCE5Uvervh6MgzmQYsa+aDNM2HP6IITlhnUlBk6zhTz9UGfUJruFPBBm6ixG90EJFzwog5QZ9SVzxAbmyDJM0bNBElg6DPI0Jx+qDNItE76bckGeUukbyg4lIFmQSkW43HLDmg67Xtdfvu67fs+3iZ6/da0NHSiA5M5yAFyBS/BB+svg/itH4X4vtPjtABu30ojUkA39TWIfV1DUl5T8kH9OZo2aCSDiZYNn9kEkE5nDJtvBBM0CCBL70Epmw5oJGgJyCCCCUzVsAgjM0bf5IISLAoIEsCUEEECXJKCEy54IITIJAydBCZsM7+SCMywbPYoIEsHKCBNzxOxQQJckoM5Ll0HiCUzYZXQSmWHFBAlg6CBqdigjIuT9G8UE5Fhdjt5oIoJ9X7vK2+17oP4aAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDb8d2Ot8l33a9j28TLV7rWhpRarCR/dM/9MIgk7gg/WvxXYaPxPx/afH9tER0u10owsAZzZ56kmAHVORJO8oP6PWdyD0zyHig86y/ttZB4ZF3FNt+KDwyxdnyKDkyA22og5665jdyQcGZs7O7Wtkgn1gOHP1QT6jUHHy+yCcp3D4PnW3iyCXUWZ9tggl1itC+CCJncZVwqfsgiZ4E4454h+aCJkXLGhoPqN6CMplyBwxdBnlIiVMPPHgghORelHqfFBDUkSw58kGaUgxY7kEDIAttvwugy6sq3pfbkghOTi7v7IM8pEGmW9Bm1JVud9fXkgzdZrvtuQcE3PNBAlyTtsyCMzUBBlnK5uHt4B0EpSBjTc/qgzTJdqj3QZpmp8L3QZ5FzTbhuQcoJTNWy2dB9uf2t+A/ra2t8/3EAdPQM+27EEO+sQP62sK/+OJYUudyD7xQQkXJQeIIyLnhRByggakugnM0A2p+qCSCEi5dBOZo1N+f6IImgJyQQvUoISLkkIIzLlsB6oITNhz+iCMyw4oISLB/BBnJoTx8UEEEJXPE+qCMy54eqCEzhz4oITLBs0EJFgUEUBBAlySghIueFEEZnDO6CMiwpdBFBOZwQSJYPXl90EEH8dAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBB9zf2x+DEBrfPdzCp6u37ESeg/82sAz1I6RudB9xde9waHHA+yD0SIsabeKD3+oRcip25BA6yL7fog862DE3oNuaDnqDs9UHPWK7qDz8Ag563DWLCu96oODJw5LgbeKDiUqUY4Hdkg4lqY2CCR1K5uz5/SyCcp1d2wHBiglKTMxDXPrXcyCUpMXIv65MghKQd7Ph4IJTkxFaBvH3oghqSYu+b86PTegjOXiUGeUqE3f3+yDNKQYtXDx+yCLitbX9kGaRZq1eubc0ENQ332ptggz9QZ3cDb3QZZzL77lBDUk43n6oIoOJlg2aDOZsWZBGZoTiW28EGOZq23NBMkCpQZ5GhPHd4cEGeRLE0dBBB4dtigr8f2Ov8AJd923YdtEy1u61Y6UBk5rIlmAjGpQfrT4r47Q+J+P7T4/twBp9row03AbrkB+/UO+c3KDdIsD4IIoOZFgd9PFBFBxOTU97IJIIyLl0E5lhxogigjIufJBGZw2ZBGRYHfTxQRQZzmUECXJKCMy5bL1QQmbDmgzzOHMoIyLChY+qCBLB7oIHE390Gc1qgjIudwQZ5lzwog5QcTLDjigiSwPlxQQOZQQkXJ8BwQRmatkgmSwJQRJckoJTwH6oJoP46AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIP6PxPx2t8r8h2vYaIPV3GrGMpAUhpgvqahyEIAlB+o+x7XQ+P7Xt+y0IiGl22lDSgKWjGpJo5Juc0Gtw7Y5IOnLM9EHhm7B38MBiUB6M9B5bOgGVK4Ybvug46w3C4PtzQede79EHh1GrhtWiCZm37c77kHPXUjixw8sEHBkSGLIImYIN93sfFBN8HtvsglKZNNmQRlOjiuFsm4IOJScbr/AHQZ5SfcBtdBCUnFsUEZTcXfDkQSgjIsPTigzmQAz2H1QZ5SrXFygz6k8ccr0QRnOm12QZvRBnnK53sEEZFzt5oOUEZFya0DoMpqScyglqSblXnggyE4k3QTnLDm/oyCEzRtggyzNWwv6oOEE5tQYoPub+134+0db5/uYVPV23YCQ/w/+fWAIetIg5Og+5kEpmo4eqDhBKZq23LxQcIIyLncLIJysUEUEJFz6cEHEiw+7IIoIEuXQRmXLZIIzLDj6YoISLRO+m3JBA2PBBAlnJQZ71KCMi5O6iDPMucaUQRmTao9DRBGZYcUGeRYcaIIoM5rVAQRn/JBGZsOZ9kEJmnEoIksCUEEE5nDx9kE0ECXJOaDl6tudB/IQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBB9zf25+GHb9tqfMa8f83uX0u1cVjoRLTmHDj+pKxyCD7QEgX3IPQQbFA6xUu5x3+xFEDqBq+3BB6+INEHJmxuS92/WtEAyA8H23oOeu9OH3QcOSGeldjzQcGVHuXzrzyog5M7NxP0QTlNjUs/s30QTM60s3nnyQSMgLm4f382QT6zUYF23IImbOGrVvbxQT6iIkG3sggZEhtuCCRmGOeH1yQQMgxzGGKDOZByHrWu/wCqCJNd5qyCEpAnyCDPOVzgNigjKTs2Ww8kGYyJfI/b6IM8i54UQcoJTNWyQRmaAZ7e6DLKRehoG280EdQvzLoMszVsroOEEJGpOCDOS5JQeINnxPxut8z8l2vx+gHn3GrGEpB2hpiupqEsemMYgnJB+sex7PQ+P7Pt+y7eIjo9tpQ0YRH/AEipxrKTk7yg1EsHQQQEECXLoOJFonw8UEUEpmoGXuglIsNtrIIoJTLkDJBGZYNmgkgzkuXQRkXPkgzzLnhRBGZsPH2QZ5mw5oIyLBBA2PAoIIIEufTgghIueFEEJmvBBCZwzQTQeSLA7VQQQQJckoISLnDltdBGdgNqfqgmggS9UE5kMz33P+iCSCL/ALn9xwuzMyD+agICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIP6vwvxmp8v8l23ZQB6dSYOtIf4NGNdSRy/bQbyg/SGhp6fa6Gj2+hDo0tCEdOEcBCIAAo1UF+sYZ1cYbqoOjMCorXgUAzFN/l4OgdQDb+H1ZB71AY3Hl90HPWK3pbbJB5103+V0HJmdwxQcmVXJZ+W1EHPUASPNBx1mvkef0QcGRILl2wQSMywzxQTnOo8OQvlWqCZm5pRvdBMyANeKCJlWpu7c8EETOpaxDffzQRlJi3nkghKbGt2v6OggZAXxdBGRrU4sMkENQh72pzQRmQ19/KvK6CEpMKEPa/mgzddTlhtk6CaDwlgSgzmQdiaoITlchzk+1kGdBCUnJPIe3igzEuXQcTLDigzzNGzQZ5SZvr7IOTNxvx80H3h/bL4E9t2mr85rwbW7t9Hs+ofuj28T/makX/APlkG3hB9rAkWKD2WoLWONrfVByg4mWDYn0QSQSmXLZIJksHQQQSmatltyQcWqUECXLoISLkoJTNGfiEEZFg/ggzmgJyQQQQNSTvQZ5FyUEZly2SCEzhzKCMyw44oISLA8GQZyWBKCCCBLklB4gnM2HNBCZYcUEJFh6IIoISLn0QTmWDZoJIIyLk7t6CUyRbF9ggkg/noCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICD7k/A/if8AZdjL5LVh/n98B/ScF4dsD+1q1/qmvBkHz8TbMvvsd25A6zWnDd5IOusP78vqgCYxog9EgSyDwzDOPDmgGYFqoPOutqeaDkzJJDs+FMkHhlSth+iCZlRxnb6oOTOzbj9sEEzJj0ve/KyDkzDnar80EDL+RxHr+qDiUnG2xQTlJq3KCEpYnBkEpyc8KvxQSlNjmTU8PqgjKQepZ0EJSc3pggjM1bL3r6IITNhh5/oghM0bE+mwQQkWFOF9qhBFBzIsHQTlJ42rfwHugzEuXQSmRbFBmMi5GFvIoIzLDj6Mgh1AFj9kE5FzemCDPIgknDNtwQZpXKD+x8B8Tq/N/K9p8fpg9OrMS1pgP/T0IV1Zn/tpxKD9Tdvp6Xa6Gj2ujAaej2+nHR04gACMYBhbh5oNAL2QRkXJZAEiLeCDyU4k5NSvigWqUECXO3nvQTmaNn7MgkS1SggS5dBOZo2aCEiw8kEUEJFz6cEEZmwyughM0bnyQRmSBTHFBnmWHGnkUECWBKCCCBZy2aCEy54UQRmcOaDPM4U90EZEgUQRQeGgJyQRJcvXmghIueFEEJmrZeqCUqRO21EEUEZfyKCciwNaoIoIzLnGhKDlB/PQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQf2PgvjJfLfJaHasf6XV/U7iWEdGBBm9Q3V/HiUH39pxjpwhp6YEYQiIRiLCMQIgcAEHbnba6DrrOXD7oPeum/wBUDrpkfHmg96xTl9/BA6w+7OqB1hyg56yzefNBwZYk2De3ig86g97/AF+oQeGYqPPDyQSMiQ2xqg5lJqnE123IJynlZjt5IOHvWuNfVBIzdw236IJk0JGHrkglKZI4V8EEZSeIY3uNt6CM5Gla25N9SglKQqTbBBGZqBlt7II6lhx9AgjOVCTewZ0ECSzmrA4oM/ugIJTLlskEZ2HFBAyYgbbkEJyLE47eyCCCMzfc/Cn1QZTUk5lBzIsDvp4oM8iw40QRQffH9t/hB2Px8/lu4gB3Hfj/ACDIVh2w/i2I/qyrwQfZDvXOvig8MumuPgg8jIG9/JB6SwJQQQJTIDEkv7IPAQbIJSLlBKZo2e1UEkEZlzhRBCZLtggjOyCJLAlBC9SgjIud2CCEzXGngghM2HNBCZoBn7IITLR40QQJYPlsfJBAkCpoEECXJKCEi5KCEy54UQcIOJlg2fogiSwJQQuggS5JQRmagYXQSkWBQRQSmagIJksCUEL1KAg/noCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIPt/wDD/jB2HYf7nVi3cd8I6lRWGiK6cXf/ABO5QfMQcj4fZB65pW1tuSD3rO3NB117qY+6B11tTzQe9Y+lN3HNB4J0rUvs+CB17kHhmXpSjffig4fB+T+yDzqDO7t9fqg5MxhVBz1nLhtigmZXc238/N0EzM0amaDgyD1IBKCZmxIG2xQTfB97P5oIyk4ZBKUgxY1BQSnMs/IcW5XZBGUgdwGJQSmSGbH2ZBCci2808kEZSo5wQRlJ6Nig5QTMmkcrUQRmS16k/qgiTjkNuaCBLklBHUkBQ0A9UEyWBKDLM0bP0QSQSmas9sN6DNIudw2KD+3+OfET+a+W7bswD/S6v6vcyH+HQ0yDOpBDysOKD9ORhDR0tPR0hGOnpwjCEYswjAARAAoAGQeiRCBKb0pw2NkHKDmUyKYXQeiQP0N0EpFyUHBkRE182rnxCDkTGPkg4kXL4YIJyLC7ZIIoM5qSc0EpmrYcdqoIzNAM/ZBCRYcaeKCBoCgggzmtUEJFyeNEEJFzwp9+aCMzYc0EZlhhWiDPIsN+CCBLAlBBAQRkXPCn1QRmcPH6IITLDigkggS5dBKZsOaCdkGfyQcTsz8s0EkHHV+5vYv9PsgxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg/t/AfGn5P5DS05B9DSI1tc4dECP2WY9cmDZIPumMoxiAAwiABEYAUAGFAg7EhgWzenig6citkHokQXu6DoTzCB10tVB51lrV8kHvX98fcIPOs132bBB51SzQeGRNbUA24lBz1AFnQcmdHF3b7oODImzjmg5Mq1uat9HQTM3DNdBMnEn3QcGbGlUEjIPXFygmZ1LcvrwQRMgziqCRkSKmgQSnKgbGqCMiw34bcEEZSxOA8/Z0EpSBZtnQcIPJWP67OggghIufQIJzIZtm37kEOoVrba6DNM+J2KCSCMi5O6iDlBmkaEnZ0EEH3z+AfCx+O+M/32tER7rv2nVuqHbj/TjYEdV+aD5z1F3dB0JjHxwQcc7WQe9ZiK1G9B4T1EkIOZFh6cUHEZ4Hx+qDyZBZq7fZBKRYHwQSBIL7WZB5LUBLUDPsSzIOJSDMMUESWBKCBNyeJQQJckoIzIfhdBGZoAgzzNGz9EEJFgd+x8kGeRYeSCKCBLklBCRJPCyCEpPTLFBCZw8UE0HhLCqCCCEi5PFBCZc8NvFBKZYNn6IJIM5Ll0E5mwwv9kE0ECXJKDklgSgl1F35Ng2TIMqAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIPtj8Z+P/4/sI6k4tr9106uq4qIEf5cC8QQ0S5GZQfJescEHTg2IQevg/JB6CRQHb2QddZbfn9kDrOSB1n7bMg9691UHhmSzUQedUs0HJlmT45/qg86hd7+u9Bx11OW79UHJmSMqu74IOTIO5Iqg4M7t9kEnwfkg4lJhS/p7IJmTn0QTlJqDx+yCJIAJyQTMyQ1Pt9UEZEdN725GqCRkw3DBBKUnFMfr4IOEHhLAlBBBGRclvXJBGZsOaCUpYnggggjIuXQTkWG1N6CBkAz4oOJlxQiqDPM2HNB/e/F/iD8x8toaEg/b6RGv3Jw/pwIaJOc5U4Og/RTR04RhAGMYgRiBQAAMB4IPBMi9R5oEpAgM93QBM42zQdSkGLY0QTBIsg8Oo9CRT9PFB4SwJQRcgliblAlMSIGIuN/6IOSWDoIIJmdd21Qg8lIGgPFBGdtrIIksCUEL1KCBLklBnkXJQRmXLZIM8zVskEZlg2fogibHggzksCUEDWqCBqSUHiCczggjMsONPqggSwJQQQRkXJ3U8EEplg2aCSCEi5JCDiRYHP6oIoOJlhvQSQZ0BAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBB/c+A+P/3/AH0OsPoaDauq4pLpP7YZful5Og+14yalxTkyDoTBvT0QeiYJyOG9B11PV+boOhM3dxyZAEyDnu+mSB1lB117qoPOs7vD7oPOonHa/FA6jTdtVBz1XD3qd+zoPHGY8UHJmzNV6oODIl605IOSTiXZBwZscxuQTJJet9hkg46gQTltvugnKTtfeMEE5TY8vs2DWQSJck5oIylcNzQTJYPs6CRk4a2aDlBzIsEEjIm+GxQSMwQW4Vb6oJOK1tdBA3ONboJTNWyQTkWDoIIJTNWy9UGaRc7sEHNkECSTvQfe34X8P/xnxcdXVj0913vTrar/AMoaZH+VpmpZol+aD5aZkEgGj24XQdCYO7j9UE+ouSMcEFBMHcUHEpF6HlSnHwQeidK0LX38M0EyXLoPDPpDGoPkzIHUGe7XQRJq+90Hkp4F61fBBzKQ6b3FOaCKCBJJdBM6hJrUPTAeQQeTkCwB4oITLDjsUEJFonw8UECWDoIEs5KCBLklBGZc8NigzzNWyQQmTbBBCZYNmgkg8JYOgiak8UEJlzw2KCMzhzfxQSlQFBBBGf8AIoJzLR40QRQRkXNEHKCMi5PgOCDlBnQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEHzz8T/8A1e5/0/8AXjb/AFP4f4/+n/080HzGP8Re+HFB2gIPcMfbBB3/AITf+I42/wDt+6Do/wAf8WFv5fqg6QEBB4Lm+F7ckHn/ANX8tv8AtQTnfHnxKDk3N743570BB4bG/K/Legn/AID/ACwvbkg4QcyxvbC19uSCKAedxbj6IIy/kb3x2sgmbm/8cOJ80ETc3vjfnvQTn/HH+WPNBNAQTnz9sfNBGX8TfkgiggbnifVBycL3FvfcgzzxvfC/8sN6Dif8Re4vexvvQZpfyF74cv8A3IOTfHndBmQeS/ifZB12f/7fbf6f+vo/6v8Ap/6kf5/9GaD9KQ/hD+P8Y/x/jYfx/wCnJB2bm98b896DmVvC17iyD0WHvfmg9QEHM/4nl6hAjbHnww3IOJ3GwQcYi+NuBvuQEEp35e5QcIPDbHldBA3N743570GdBx/iP8r/APbYX3oOZ35e5QQnYXvy/VBGf8Ty9QgzT/jjfZ0EkEDc+9+aCEv5G98drIM0v5G98UEp2F78v1QTQcT/AI432dBE2N+V+W9BBBCX8je+O1kEtTDn7IJGxvyvy3oIIJz5+2PmgmggbnifVBybHgfRBBAQf//Z") no-repeat center;
}
.xc-add-member .xc-icon{
width: 30rpx;
height: 30rpx;
- margin-left:50rpx;
+ margin-left:40rpx;
}
.xc-add-member .member{
@@ -162,23 +164,23 @@ height: 84rpx;
}
.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;
+ width: 120rpx;
+ margin-left:140rpx;
}
.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;
}
.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..123b095
--- /dev/null
+++ b/pages/user/plus/plus.js
@@ -0,0 +1,298 @@
+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;
+ }
+ 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..d7c6d5b
--- /dev/null
+++ b/pages/user/plus/plus.wxml
@@ -0,0 +1,156 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.CardName}}
+
+
+ 立即开通
+
+
+
+
+
+
+
+
+
+ 根据大家购买数据,您成为超级会员预计可省¥{{item.free}}元
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 开通PLUSI会员尊享礼遇
+
+ PLUS会员尊享礼遇
+
+
+
+
+
+ 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..1d9c580
--- /dev/null
+++ b/pages/user/plus/plus.wxss
@@ -0,0 +1,363 @@
+@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%;
+position: relative;
+left: -40rpx;
+
+}
+
+.Membership .Opening {
+ width: 160rpx;
+ height: 45rpx;
+ border-radius: 20rpx;
+ background-color: rgb(237, 189, 150);
+ line-height: 45rpx;
+ 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: 95rpx;
+ 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 85rpx;
+}
+
+.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 {
+
+ overflow: visible;
+ width: 360rpx;
+}
+
diff --git a/pages/user/userinfo/userinfo.js b/pages/user/userinfo/userinfo.js
index 81c1379..a3c925f 100644
--- a/pages/user/userinfo/userinfo.js
+++ b/pages/user/userinfo/userinfo.js
@@ -1,84 +1,777 @@
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");
+
+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
+ },
+ //是否启动密码消费
+ 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) {
+ this.puls_user();
+ this.equity_user();
+ this.initial_user();
+ },
+ //-----------会员是否初始化---------------------
+ initial_user: function () {
+
+ var th = this;
+ getApp().request.get("/api/weshop/users/grade/vip/init/get", {
+ data: {
+ storeId: r.stoid,
+ },
+ success: function (su) {
+ var isBool = su.data.data.isBool;
+ console.log("会员是否初始化", isBool);
+ th.setData({isBool:isBool});
+ }
+ });
+ },
+ //-----会员等级卡获取---------------
+ equity_user:function(){
+ var th = this;
+ getApp().request.get("/api/weshop/users/grade/aftervipinfo/get", {
+ data: {
+ storeId: r.stoid,
+ userId: getApp().globalData.user_id,
+ },
+ success: function (su) {
+ var gradename=su.data.data.GradeName;
+ th.setData({gradename: gradename});
+
+ }
+ });
+ },
+
+ //-----Plus会员获取-----------
+ puls_user:function(){
+ var th=this;
+ getApp().request.get("/api/weshop/plus/vip/mem/list", {
+ data: {
+ storeId: r.stoid,
+ userId: getApp().globalData.user_id, },
+ success: function (su) {
+
+ if (su.data.code == 0) {
+ var cardname=su.data.data[0].MemCardName;
+ console.log("卡的名字", cardname);
+ th.setData({pulscardname:cardname});
+ }
+ }
+ });
+ },
+ onShow: function() {
+
+ this.wait_for_store_config();
+ var e = this;
+ var req = t;
+ req.get("/api/weshop/users/getAndUpdateUser/" + r.stoid + "/" + getApp().globalData.user_id, {
+ success: function (src) {
+ var a=src.data.data;
+ console.log(a,"剩什么llllll",a.data);
+ var time = util.formatTime(a.reg_time,"'Y/M/D");
+ var birthday = util.formatTime(a.birthday, "'Y/M/D");
+ a.reg_time = time;
+ a.birthday = birthday
+ e.setData({
+ phone: a.mobile,
+ user: a,
+ openid: a.openid,
+ sto_sele_id: a.pickup_id,
+ consumption: a.paypwd,
+ identity_card:a.idcard,
+
+ });
+ }
+ })
+ 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];
+ if (a.pickup_id!=null) {
+ req.get("/api/weshop/pickup/get/" + r.stoid + "/" + a.pickup_id, {
+ success: function(da) {
+
+ //设置门店
+ e.setData({
+ stoname: da.data.data.pickup_name
+ });
+ }
+ })
+ }
+ // var phone = "";
+ // phone+=a.mobile.substr(0, 3)+"****";
+ // phone += a.mobile.substr(7, 12);
+
+
+
+ // e.setData({
+ // isGender:e.data.user.sex
+ // })
+ }, !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("设置头像成功");
+ }
});
- },
+ }
+ });
+ },
//------卡片的显示和关闭--------
- show_tc: function () {
+ show_tc: function() {
this.setData({
tc_hide: false,
});
},
- hide_tc: function () {
+ hide_tc: function() {
this.setData({
tc_hide: true,
});
},
+ //消费密码输入框失去焦点事件
+ lose_focus:function(e){
+ var th=this;
+ var val=e.detail.value;
+ console.log("是什么东西",val);
+ if (val.length > 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("修改失败");
+ }
+
+ }
+ })
+ }
+
});
\ 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..d19fb83 100644
--- a/pages/user/userinfo/userinfo.wxml
+++ b/pages/user/userinfo/userinfo.wxml
@@ -1,97 +1,371 @@
+
-
-
- 头像
-
+
+
+
+
+
+
+
+
+
+
+
+ {{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}}
+
+
+ ∟
+
+
+ 收货地址
+
+
+ ∟
+
+
+
+ 绑定的时间
+ {{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/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 //画图画圆角矩形
};