From 540d76bdb8de3bda9789df3a506f9c75da20e6fb Mon Sep 17 00:00:00 2001
From: zhangmanman <994797151@qq.com>
Date: Mon, 9 Aug 2021 15:57:37 +0800
Subject: [PATCH] =?UTF-8?q?[=E6=9B=B4=E6=96=B0]?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
api/err.js | 2 +-
api/interfaces/enroll.js | 2 +-
api/interfaces/index.js | 8 +-
api/interfaces/user.js | 49 +-
api/request.js | 18 +-
app.js | 9 +-
app.json | 10 +-
pages/account/account.js | 2 +-
pages/activate/activate.js | 2 +-
pages/activity/activity.js | 2 +-
pages/activityData/activityData.js | 6 +-
pages/activityInfo/activityInfo.js | 6 +-
pages/activityOrder/activityOrder.js | 6 +-
pages/address/address.js | 6 +-
pages/address_form/address_form.js | 12 +-
pages/car/index.js | 179 +++---
pages/car/index.wxml | 28 +-
pages/car/index.wxss | 33 ++
pages/cashier/cashier.js | 169 ++++++
pages/cashier/cashier.json | 4 +
pages/cashier/cashier.wxml | 48 ++
pages/cashier/cashier.wxss | 140 +++++
pages/chooseTel/chooseTel.js | 39 +-
pages/classify/classify.js | 45 +-
pages/code/code.js | 67 ++-
pages/code/code.json | 2 +-
pages/code/code.wxml | 60 +-
pages/code/code.wxss | 314 +++++-----
pages/coupon/coupon.js | 2 +-
pages/couponArr/couponArr.js | 2 +-
pages/couponDetails/couponDetails.js | 4 +-
pages/favour/favour.js | 2 +-
pages/favour/favour.wxml | 79 +--
pages/favour/favour.wxss | 193 ++++---
pages/frozen/frozen.js | 2 +-
pages/index/index.js | 21 +-
pages/index/index.wxml | 13 +-
pages/index/index.wxss | 33 ++
pages/login/login.js | 2 +-
pages/makeForm/makeForm.js | 21 +-
pages/myBalance/myBalance.js | 2 +-
pages/myBalance/myBalance.wxml | 3 +-
pages/myBalance/myBalance.wxss | 24 +-
pages/myProfit/myProfit.js | 194 +++++++
pages/myProfit/myProfit.json | 6 +
pages/myProfit/myProfit.wxml | 355 ++++++++++++
pages/myProfit/myProfit.wxss | 541 ++++++++++++++++++
pages/myProfit_list/myProfit_list.js | 61 ++
pages/myProfit_list/myProfit_list.json | 4 +
pages/myProfit_list/myProfit_list.wxml | 41 ++
pages/myProfit_list/myProfit_list.wxss | 82 +++
pages/order/order.js | 8 +-
pages/order/order.wxml | 4 +-
pages/orderData/orderData.js | 6 +-
pages/packet/packet.js | 4 +-
pages/password/password.js | 2 +-
pages/password_forget/password_forget.wxml | 2 +-
pages/recommend/recommend.js | 2 +-
pages/rights/rights.js | 106 +---
pages/rights/rights.wxml | 75 ++-
pages/rights/rights.wxss | 193 +++++--
pages/store/store.js | 5 +-
pages/storeDetails/storeDetails.js | 2 +-
pages/user/user.wxml | 45 +-
pages/user/user.wxss | 70 ++-
pages/userGoods/goodsCode/goodsCode.js | 221 +++++++
pages/userGoods/goodsCode/goodsCode.json | 3 +
pages/userGoods/goodsCode/goodsCode.wxml | 69 +++
pages/userGoods/goodsCode/goodsCode.wxss | 278 +++++++++
pages/userGoods/goodsDet/goodsDet.js | 93 +++
pages/userGoods/goodsDet/goodsDet.json | 4 +
pages/userGoods/goodsDet/goodsDet.wxml | 60 ++
pages/userGoods/goodsDet/goodsDet.wxss | 203 +++++++
pages/userGoods/userGoods.js | 47 ++
pages/userGoods/userGoods.json | 6 +
pages/userGoods/userGoods.wxml | 72 +++
pages/userGoods/userGoods.wxss | 193 +++++++
pages/userStored/storedCode/storedCode.js | 191 +++++++
pages/userStored/storedCode/storedCode.json | 6 +
pages/userStored/storedCode/storedCode.wxml | 55 ++
pages/userStored/storedCode/storedCode.wxss | 202 +++++++
pages/userStored/userStored.js | 69 +++
pages/userStored/userStored.json | 6 +
pages/userStored/userStored.wxml | 45 ++
pages/userStored/userStored.wxss | 200 +++++++
pages/welfare/welfare.js | 73 +--
pages/withdrawal_form/withdrawal_form.wxml | 1 +
pages/withdrawal_form/withdrawal_form.wxss | 18 +
pages/withdrawal_record/withdrawal_record.js | 28 +-
.../withdrawal_record/withdrawal_record.wxml | 20 +-
.../withdrawal_record/withdrawal_record.wxss | 41 +-
project.config.json | 7 +-
project.private.config.json | 12 +
static/img/Account_icon.png | Bin 4316 -> 3915 bytes
static/img/Account_icon_tips.png | Bin 1730 -> 1635 bytes
static/img/activity_coupon.png | Bin 6507 -> 6214 bytes
static/img/balance-back.png | Bin 8623 -> 2551 bytes
static/img/balance-icon-00.png | Bin 17631 -> 1123 bytes
static/img/balance-icon-01.png | Bin 17786 -> 1451 bytes
static/img/balance-icon-row.png | Bin 0 -> 274 bytes
static/img/car_site.png | Bin 2677 -> 1308 bytes
static/img/card_img.png | Bin 19780 -> 17793 bytes
static/img/card_top.png | Bin 1553 -> 1505 bytes
static/img/cashierTips_icon.png | Bin 0 -> 14932 bytes
static/img/class_back_01.png | Bin 7014 -> 7461 bytes
static/img/code_icon_00-2.png | Bin 0 -> 1562 bytes
static/img/code_icon_00.png | Bin 0 -> 1562 bytes
static/img/code_icon_01-2.png | Bin 0 -> 3850 bytes
static/img/code_icon_01.png | Bin 0 -> 3850 bytes
static/img/code_icon_02.png | Bin 0 -> 1088 bytes
static/img/code_share.png | Bin 0 -> 21055 bytes
static/img/code_share_00.png | Bin 0 -> 1804 bytes
static/img/code_share_01.png | Bin 0 -> 1061 bytes
static/img/code_share_02.png | Bin 0 -> 1824 bytes
static/img/code_title.png | Bin 0 -> 12421 bytes
static/img/coupon_tips_00.png | Bin 4942 -> 4838 bytes
static/img/coupon_tips_01.png | Bin 4897 -> 4789 bytes
static/img/favour_back.png | Bin 41420 -> 68900 bytes
static/img/favour_title.png | Bin 0 -> 8790 bytes
static/img/finger_00.png | Bin 390 -> 340 bytes
static/img/finger_01.png | Bin 378 -> 331 bytes
static/img/frozen_back.png | Bin 38258 -> 17460 bytes
static/img/frozen_btn.png | Bin 11322 -> 5620 bytes
static/img/frozen_identity_00.png | Bin 782 -> 650 bytes
static/img/frozen_identity_01.png | Bin 746 -> 628 bytes
static/img/goodsCode_white.png | Bin 0 -> 1219 bytes
static/img/index_float_00.png | Bin 0 -> 9120 bytes
static/img/index_float_01.png | Bin 0 -> 5760 bytes
static/img/new_rightsAddress.png | Bin 0 -> 2149 bytes
static/img/profigLabel_back.png | Bin 0 -> 4692 bytes
static/img/profigLabel_row.png | Bin 0 -> 1331 bytes
static/img/profig_billie_icon.png | Bin 0 -> 1238 bytes
static/img/profig_billie_icon_active.png | Bin 0 -> 1190 bytes
static/img/recommend_img.png | Bin 11729 -> 0 bytes
static/img/shareTitle.png | Bin 0 -> 806 bytes
static/img/storedCode.png | Bin 0 -> 39251 bytes
static/img/subscribe.png | Bin 7992 -> 0 bytes
static/img/user-codeGold.png | Bin 5266 -> 0 bytes
static/img/user-codeImg-active.png | Bin 8306 -> 0 bytes
static/img/user-codeImg-down.png | Bin 15397 -> 19856 bytes
static/img/user-codeTips-01.png | Bin 9967 -> 0 bytes
static/img/user-codeTips-02.png | Bin 11264 -> 0 bytes
static/img/user-codeTitle.png | Bin 31099 -> 0 bytes
static/img/user-storedCode-down.png | Bin 0 -> 21618 bytes
static/img/userGoods_icon.png | Bin 0 -> 1445 bytes
static/img/userGoods_title.png | Bin 0 -> 13207 bytes
static/img/userOrder_07.png | Bin 357 -> 17039 bytes
static/img/userOrder_08.png | Bin 769 -> 16004 bytes
static/img/userStored_back.png | Bin 0 -> 9669 bytes
static/img/userStored_icon.png | Bin 0 -> 24004 bytes
static/img/userStored_img_00.png | Bin 0 -> 1271 bytes
static/img/userStored_img_01.png | Bin 0 -> 457 bytes
static/img/userStored_text.png | Bin 0 -> 4810 bytes
static/img/user_card_00.png | Bin 21875 -> 26486 bytes
static/img/user_card_01.png | Bin 24931 -> 23030 bytes
static/img/user_card_02.png | Bin 101718 -> 93418 bytes
static/img/user_identity_00.png | Bin 0 -> 1754 bytes
static/img/user_identity_01.png | Bin 0 -> 2044 bytes
158 files changed, 4914 insertions(+), 788 deletions(-)
create mode 100644 pages/cashier/cashier.js
create mode 100644 pages/cashier/cashier.json
create mode 100644 pages/cashier/cashier.wxml
create mode 100644 pages/cashier/cashier.wxss
create mode 100644 pages/myProfit/myProfit.js
create mode 100644 pages/myProfit/myProfit.json
create mode 100644 pages/myProfit/myProfit.wxml
create mode 100644 pages/myProfit/myProfit.wxss
create mode 100644 pages/myProfit_list/myProfit_list.js
create mode 100644 pages/myProfit_list/myProfit_list.json
create mode 100644 pages/myProfit_list/myProfit_list.wxml
create mode 100644 pages/myProfit_list/myProfit_list.wxss
create mode 100644 pages/userGoods/goodsCode/goodsCode.js
create mode 100644 pages/userGoods/goodsCode/goodsCode.json
create mode 100644 pages/userGoods/goodsCode/goodsCode.wxml
create mode 100644 pages/userGoods/goodsCode/goodsCode.wxss
create mode 100644 pages/userGoods/goodsDet/goodsDet.js
create mode 100644 pages/userGoods/goodsDet/goodsDet.json
create mode 100644 pages/userGoods/goodsDet/goodsDet.wxml
create mode 100644 pages/userGoods/goodsDet/goodsDet.wxss
create mode 100644 pages/userGoods/userGoods.js
create mode 100644 pages/userGoods/userGoods.json
create mode 100644 pages/userGoods/userGoods.wxml
create mode 100644 pages/userGoods/userGoods.wxss
create mode 100644 pages/userStored/storedCode/storedCode.js
create mode 100644 pages/userStored/storedCode/storedCode.json
create mode 100644 pages/userStored/storedCode/storedCode.wxml
create mode 100644 pages/userStored/storedCode/storedCode.wxss
create mode 100644 pages/userStored/userStored.js
create mode 100644 pages/userStored/userStored.json
create mode 100644 pages/userStored/userStored.wxml
create mode 100644 pages/userStored/userStored.wxss
create mode 100644 static/img/balance-icon-row.png
create mode 100644 static/img/cashierTips_icon.png
create mode 100644 static/img/code_icon_00-2.png
create mode 100644 static/img/code_icon_00.png
create mode 100644 static/img/code_icon_01-2.png
create mode 100644 static/img/code_icon_01.png
create mode 100644 static/img/code_icon_02.png
create mode 100644 static/img/code_share.png
create mode 100644 static/img/code_share_00.png
create mode 100644 static/img/code_share_01.png
create mode 100644 static/img/code_share_02.png
create mode 100644 static/img/code_title.png
create mode 100644 static/img/favour_title.png
create mode 100644 static/img/goodsCode_white.png
create mode 100644 static/img/index_float_00.png
create mode 100644 static/img/index_float_01.png
create mode 100644 static/img/new_rightsAddress.png
create mode 100644 static/img/profigLabel_back.png
create mode 100644 static/img/profigLabel_row.png
create mode 100644 static/img/profig_billie_icon.png
create mode 100644 static/img/profig_billie_icon_active.png
delete mode 100644 static/img/recommend_img.png
create mode 100644 static/img/shareTitle.png
create mode 100644 static/img/storedCode.png
delete mode 100644 static/img/subscribe.png
delete mode 100644 static/img/user-codeGold.png
delete mode 100644 static/img/user-codeImg-active.png
delete mode 100644 static/img/user-codeTips-01.png
delete mode 100644 static/img/user-codeTips-02.png
delete mode 100644 static/img/user-codeTitle.png
create mode 100644 static/img/user-storedCode-down.png
create mode 100644 static/img/userGoods_icon.png
create mode 100644 static/img/userGoods_title.png
create mode 100644 static/img/userStored_back.png
create mode 100644 static/img/userStored_icon.png
create mode 100644 static/img/userStored_img_00.png
create mode 100644 static/img/userStored_img_01.png
create mode 100644 static/img/userStored_text.png
create mode 100644 static/img/user_identity_00.png
create mode 100644 static/img/user_identity_01.png
diff --git a/api/err.js b/api/err.js
index cee8984..e1ba097 100644
--- a/api/err.js
+++ b/api/err.js
@@ -17,7 +17,7 @@ const errInfo = (obj) =>{
wx.removeStorageSync("token")
// 返回首页
wx.redirectTo({
- url: "/pages/index/index",
+ url: "/pages/login/login",
})
}
})
diff --git a/api/interfaces/enroll.js b/api/interfaces/enroll.js
index a41a7c6..ec3d164 100644
--- a/api/interfaces/enroll.js
+++ b/api/interfaces/enroll.js
@@ -8,7 +8,7 @@ const record = (code, iv, encryptedData, parent_id) => req({url: "auth/openwx",
const bindmobile = (code, iv, mobile) => req({url: "auth/bindmobile", method: "POST", data: {code: code, iv: iv, mobile: mobile}})
//切换手机授权
-const tel = (wechatUser_id, username) => req({url: "auth/loginbymobile", method: "POST", data: {wechatUser_id: wechatUser_id,username: username}})
+const tel = (wechatUser_id, username) => req({url: "auth/loginbymobile", method: "POST", data: {wechatUser_id: wechatUser_id,username: username}}, false)
export default({
diff --git a/api/interfaces/index.js b/api/interfaces/index.js
index 99d3a64..6d073fb 100644
--- a/api/interfaces/index.js
+++ b/api/interfaces/index.js
@@ -1,6 +1,9 @@
import {req} from "../request"
+// 是否开启沃支付
+const woPayment = () => req({url: "ajax/pays"})
+
//首页权益
const index = (area_name, user_lng, user_lat) => req({url: "home", data: {area_name: area_name, user_lng: user_lng, user_lat:user_lat}})
@@ -41,7 +44,7 @@ const ordersInfo = (orderId) => req({url: "activity/orders/" + orderId + '/info'
const rightShow = (right_id, address_id, num, is_deliver) => req({url: "orders/create/", data: {right_id: right_id, address_id: address_id || '', num: num || '', is_deliver: is_deliver}})
// 权益购买提交
-const rightStore = (right_id, address_id, is_deliver, qty) => req({url: "orders/store/", method: "POST", data: {right_id: right_id, address_id: address_id || '', is_deliver: is_deliver, qty: qty || ''}})
+const rightStore = (right_id, address_id, is_deliver, qty, share_user_id) => req({url: "orders/store/", method: "POST", data: {right_id: right_id, address_id: address_id || '', is_deliver: is_deliver, qty: qty || '', share_user_id: share_user_id || ''}})
// 微信权益购买信息
const wechat = (trade_no) => req({url: "payments/wechat?",method: "POST", data: {trade_no: trade_no}})
@@ -113,5 +116,6 @@ export default({
washcarCoupon,
busineSee,
busineForm,
- subscribe
+ subscribe,
+ woPayment
})
diff --git a/api/interfaces/user.js b/api/interfaces/user.js
index 289e61a..b4fc34c 100644
--- a/api/interfaces/user.js
+++ b/api/interfaces/user.js
@@ -11,7 +11,7 @@ const mobiles = (wechatUser_id) => req({url: "user/mobiles", data:{wechatUser_id
const coupon = (status) => req({url: "coupons?status=" + status})
//卡券分组
-const couponArr = (activityId, status, page) => req({url: "coupons/list", data:{activityId : activityId, status : status, page : page}})
+const couponArr = (activityId, status, page) => req({url: "coupons/list", data:{activityId : activityId, status : status, page : page || ''}})
//卡券详情
const couponinfo = (coupon_id, user_lng, user_lat) => req({url: "coupons/show", data:{coupon_id : coupon_id, user_lng : user_lng, user_lat : user_lat}})
@@ -23,7 +23,7 @@ const qrcode = (coupon_id) => req({url: "coupons/qrcode", data:{coupon_id : coup
const barcode = (coupon_id) => req({url: "coupons/" + coupon_id + '/barcode'})
//门店列表
-const stores = (coupon_id, province_id, city_id, district_id, title, user_lng, user_lat, page) => req({url: "coupons/new_stores", method: "POST", data:{coupon_id : coupon_id, province_id : province_id || '', city_id : city_id || '', district_id : district_id || '', title : title || '', user_lng : user_lng, user_lat : user_lat, page : page}})
+const stores = (coupon_id, province_id, city_id, district_id, title, user_lng, user_lat, page) => req({url: "coupons/new_stores", method: "POST", data:{coupon_id : coupon_id, province_id : province_id || '', city_id : city_id || '', district_id : district_id || '', title : title || '', user_lng : user_lng, user_lat : user_lat, page : page || ''}})
//门店详情
const storesShow = (store_id, user_lng, user_lat) => req({url: "coupons/store/show", data:{store_id : store_id, user_lng : user_lng, user_lat : user_lat}})
@@ -38,7 +38,7 @@ const jssdk = (coupon_id) => req({url: "coupons/jssdk?coupon_id=" + coupon_id})
const cards = (code, pass) => req({url: "user/cards/activate", method: "POST", data:{code : code, pass : pass}})
// 积分账变记录
-const logs = (type, channel, page) => req({url: "account/logs", data:{type : type, channel: channel, page : page}})
+const logs = (type, channel, page) => req({url: "account/logs", data:{type : type, channel: channel, page : page || ''}})
// 冻结列表
const ungrants = (type,) => req({url: "account/newungrants", data:{type : type}})
@@ -62,7 +62,7 @@ const washcarCreate = (welfare_id, right_id, qty, address_id, is_deliver) => req
const myshare = (parent_id) => req({url: "user/share",data:{parent_id : parent_id || ''}})
// 我的推荐
-const childs = (page) => req({url: "user/childs",data:{page : page}})
+const childs = (page) => req({url: "user/childs",data:{page : page || ''}})
// 校验转账的手机号码
const ajaxTel = (mobile) => req({url: "ajax/user", data:{mobile : mobile}})
@@ -86,11 +86,38 @@ const resetPassword = (code, password, password_confirmation, mobile, channel) =
const withdraws = () => req({url: "withdraws/create"})
// 提现记录列表
-const withdrawsList = (page) => req({url: "user/withdraws", data:{page : page}})
+const withdrawsList = (status, page) => req({url: "user/withdraws", data:{status: status, page : page || ''}})
// 提现表单填写
const withdrawsForm = (amount, channel) => req({url: "withdraws", method: "POST", data:{amount : amount, channel: channel}})
+// 2021-07-28新增
+// 我的收益
+const myProfit = () => req({url: "data/index"})
+
+// 我的收益-收益报表
+const myIncome = (month) => req({url: "data/income", data:{month: month}})
+
+// 我的收益-收益报表
+const profitOrders = (type, page) => req({url: "data/orders", data:{type: type, page : page || ''}})
+
+// 我的收益-我的团队
+const profitTeam = (identity_id, sort, page) => req({url: "data/teams", data:{identity_id: identity_id, sort: sort, page : page || ''}})
+
+// 权益详细列表
+const profitLogs = (name, page) => req({url: "data/logs", data:{name: name, page : page || ''}})
+
+// 产品分享
+const productList = (page) => req({url: "shares/goods", data:{page : page || ''}})
+const productInfo = (right) => req({url: "shares/goods/" + right})
+const productPoster = (right) => req({url: "shares/goods/" + right + "/poster"})
+
+// 储值分享
+const storedList = () => req({url: "shares/recharges"})
+
+// 产品分享二维码+储值分享二维码
+const publicCode = (channel, type, url) => req({url: "user/share/goods", data:{channel: channel, type : type, url: url}})
+
export default({
index,
mobiles,
@@ -121,5 +148,15 @@ export default({
resetPassword,
withdraws,
withdrawsList,
- withdrawsForm
+ withdrawsForm,
+ myProfit,
+ myIncome,
+ profitOrders,
+ profitTeam,
+ profitLogs,
+ productList,
+ productInfo,
+ productPoster,
+ storedList,
+ publicCode
})
diff --git a/api/request.js b/api/request.js
index c52622c..5802fbe 100644
--- a/api/request.js
+++ b/api/request.js
@@ -11,13 +11,20 @@ const api = "https://lifetest.ysd-bs.com/api/" //正式地址
const header = {
"Accept" : "application/json"
}
+let isToken = true
/**
* 请求
* @property {Object} req
*/
-const req = (obj) => {
+const req = (obj, noToken) => {
+
+ // 检查是否无需要token
+ if(noToken != undefined){
+ isToken = noToken
+ }
+
// header
if(obj.token){
header.Authorization = obj.token || ''
@@ -32,7 +39,11 @@ const req = (obj) => {
"Accept" : "application/json",
"Authorization" : wx.getStorageSync("token") || ""
}
-
+
+ if(!isToken){
+ obj.header.Authorization = ''
+ }
+
wx.request({
url : api + obj.url,
header : obj.header || {},
@@ -60,6 +71,9 @@ const req = (obj) => {
icon : "none"
})
reject(err)
+ },
+ complete(){
+ if(!isToken) isToken = true
}
})
})
diff --git a/app.js b/app.js
index b567e1d..6a88e2a 100644
--- a/app.js
+++ b/app.js
@@ -10,6 +10,12 @@ var qqmapsdk;
App({
onLaunch() {
+ // 沃支付是否开启
+ api.index.woPayment().then(res=>{
+ this.globalData.unicomPay = res.data.unicom_pay
+ })
+
+
// 获取系统信息
this.globalData.statusBarHeight = wx.getSystemInfoSync().statusBarHeight
@@ -65,6 +71,7 @@ App({
atcity : "",
adcode : '',
longitude : '',
- latitude : ''
+ latitude : '',
+ unicomPay : false
}
})
\ No newline at end of file
diff --git a/app.json b/app.json
index 2f9f0c8..23e98bf 100644
--- a/app.json
+++ b/app.json
@@ -37,7 +37,15 @@
"pages/withdrawal_record/withdrawal_record",
"pages/withdrawal_form/withdrawal_form",
"pages/password_set/password_set",
- "pages/password_forget/password_forget"
+ "pages/password_forget/password_forget",
+ "pages/myProfit/myProfit",
+ "pages/myProfit_list/myProfit_list",
+ "pages/userStored/userStored",
+ "pages/userStored/storedCode/storedCode",
+ "pages/userGoods/userGoods",
+ "pages/userGoods/goodsCode/goodsCode",
+ "pages/userGoods/goodsDet/goodsDet",
+ "pages/cashier/cashier"
],
"window": {
"backgroundTextStyle": "light",
diff --git a/pages/account/account.js b/pages/account/account.js
index 891a102..f572464 100644
--- a/pages/account/account.js
+++ b/pages/account/account.js
@@ -71,7 +71,7 @@ Page({
accounts : newData,
page : res.data.page
})
- })
+ }).catch(err=>{})
},
/**
diff --git a/pages/activate/activate.js b/pages/activate/activate.js
index c080a14..a5e1287 100644
--- a/pages/activate/activate.js
+++ b/pages/activate/activate.js
@@ -54,7 +54,7 @@ Page({
url: '/pages/user/user'
})
},2000)
- })
+ }).catch(err => {});
},
/**
diff --git a/pages/activity/activity.js b/pages/activity/activity.js
index 997570f..fe3f28c 100644
--- a/pages/activity/activity.js
+++ b/pages/activity/activity.js
@@ -31,7 +31,7 @@ Page({
indexArr : res.data.data,
page : res.data.page
})
- })
+ }).catch(err => {});
},
/**
diff --git a/pages/activityData/activityData.js b/pages/activityData/activityData.js
index 517cd4c..ea409d6 100644
--- a/pages/activityData/activityData.js
+++ b/pages/activityData/activityData.js
@@ -33,7 +33,7 @@ Page({
this.setData({
order : res.data
})
- })
+ }).catch(err => {});
},
/**
@@ -56,7 +56,7 @@ Page({
url: '/pages/activityOrder/activityOrder',
})
},2000)
- })
+ }).catch(err => {});
} else if (res.cancel) {
wx.showToast({
title : '取消',
@@ -103,7 +103,7 @@ Page({
})
}
})
- })
+ }).catch(err => {});
}
})
},
diff --git a/pages/activityInfo/activityInfo.js b/pages/activityInfo/activityInfo.js
index 45cfc96..8160c12 100644
--- a/pages/activityInfo/activityInfo.js
+++ b/pages/activityInfo/activityInfo.js
@@ -59,7 +59,7 @@ Page({
// 获取商品信息
this.redwineInfo(res.data.data[1].id)
- })
+ }).catch(err => {});
},
/**
@@ -73,7 +73,7 @@ Page({
params : res.data.params,
paramsIndex : res.data.params.findIndex(val => val.def == 1)
})
- })
+ }).catch(err => {});
},
/**
@@ -142,7 +142,7 @@ Page({
})
}
})
- })
+ }).catch(err => {});
}
})
},
diff --git a/pages/activityOrder/activityOrder.js b/pages/activityOrder/activityOrder.js
index 72b9f69..7a1054f 100644
--- a/pages/activityOrder/activityOrder.js
+++ b/pages/activityOrder/activityOrder.js
@@ -38,7 +38,7 @@ Page({
lodingStats : false
})
wx.stopPullDownRefresh()
- })
+ }).catch(err => {});
},
/**
@@ -77,7 +77,7 @@ Page({
title: res.data,
icon : 'none'
})
- })
+ }).catch(err => {});
} else if (res.cancel) {
wx.showToast({
title : '取消',
@@ -124,7 +124,7 @@ Page({
})
}
})
- })
+ }).catch(err => {});
}
})
},
diff --git a/pages/address/address.js b/pages/address/address.js
index 20bc164..ee758e0 100644
--- a/pages/address/address.js
+++ b/pages/address/address.js
@@ -32,7 +32,7 @@ Page({
this.setData({
addressArr: res.data
})
- })
+ }).catch(err => {});
},
/**
@@ -63,7 +63,7 @@ Page({
})
wx.hideLoading()
- })
+ }).catch(err => {});
}
}
})
@@ -81,7 +81,7 @@ Page({
title: res.data,
icon : "none"
})
- })
+ }).catch(err => {});
},
/**
diff --git a/pages/address_form/address_form.js b/pages/address_form/address_form.js
index 5df69f0..fb8a2de 100644
--- a/pages/address_form/address_form.js
+++ b/pages/address_form/address_form.js
@@ -117,7 +117,7 @@ Page({
defaultList : res.data.address,
isDefault : res.data.address.is_default
})
- })
+ }).catch(err => {});
},
/**
@@ -132,7 +132,7 @@ Page({
areaSn : areaArr[areaIndex].code,
areas : areaArr
})
- })
+ }).catch(err => {});
},
/**
@@ -165,7 +165,7 @@ Page({
cityList : cityArr,
cityIndex : 0
})
- })
+ }).catch(err => {});
},
/**
@@ -197,7 +197,7 @@ Page({
regiId : res.data[0].code,
regiIndex : 0
})
- })
+ }).catch(err => {});
},
/**
@@ -219,12 +219,12 @@ Page({
// 编辑地址
wx.$api.address.keep(this.data.addressId, e.detail.value.name, e.detail.value.mobile, this.data.areaSn, this.data.cityId, this.data.regiId, e.detail.value.address).then(res=>{
wx.navigateBack()
- })
+ }).catch(err => {});
} else {
// 创建地址
wx.$api.address.add(e.detail.value.name, e.detail.value.mobile, this.data.areaSn, this.data.cityId, this.data.regiId, e.detail.value.address, this.data.defaultVal).then(res=>{
wx.navigateBack()
- })
+ }).catch(err => {});
}
},
diff --git a/pages/car/index.js b/pages/car/index.js
index 1737725..cf6b480 100644
--- a/pages/car/index.js
+++ b/pages/car/index.js
@@ -28,16 +28,15 @@ Page({
noticeShow : false, //须知显示状态
addressShow : false, //收货地址显示
payWayIndex : 0,
- payWay :[
- {value: 0, name: "微信支付"}
- // {value: 1, name: "沃钱包支付"}
- ]
+ unicomPay : getApp().globalData.unicomPay //是否有沃支付
},
/**
* 生命周期函数--监听页面加载
*/
onLoad (options) {
+ console.log(getApp().globalData.unicomPay)
+
this.setData({
rightId : options.right_id,
welfareId: options.welfare_id
@@ -89,22 +88,7 @@ Page({
remark : res.data.detail.remark.replace(/\
{
- if(!err.login){
- wx.showModal({
- title : '用户登录已过期',
- content : '请重新登录',
- showCancel : false,
- success : res => {
- if (res.confirm) {
- wx.redirectTo({
- url: '/pages/login/login'
- })
- }
- }
- })
- }
- })
+ }).catch(err=>{})
},
/**
@@ -215,85 +199,96 @@ Page({
qty = this.data.num
wx.$api.user.washcarCreate(welfare_id, right_id, qty, address_id, is_deliver).then(res=>{
- let dataUrl = '', //定义接口来源名称
+ // payWayIndex为1的时候为沃支付-直接跳转h5
+ if (this.data.payWayIndex == 1) {
+ const newUrl = "https://card.ysd-bs.com/unicom/payment?trade_no=" + res.data.trade_no
+ let url= encodeURIComponent(newUrl)
+ wx.redirectTo({
+ // 跳转到webview页面
+ url: `/pages/webView/webView?url=${url}`
+ });
+ }
+
+ // payWayIndex为0的时候为微信支付
+ if(this.data.payWayIndex == 0) {
+ let dataUrl = '', //定义接口来源名称
Newtype = res.data.type //订单来源
+ // welfare为福利活动购买
+ if(Newtype == 'welfare') dataUrl = wx.$api.index.fridayPay(res.data.trade_no)
- // welfare为福利活动购买
- if(Newtype == 'welfare') dataUrl = wx.$api.index.fridayPay(res.data.trade_no)
+ // right为权益购买
+ if(Newtype == 'right') dataUrl = wx.$api.index.wechat(res.data.trade_no)
- // right为权益购买
- if(Newtype == 'right') dataUrl = wx.$api.index.wechat(res.data.trade_no)
-
- // 第一步接口调取
- dataUrl.then(payEes=>{
- let payInfo = JSON.parse(payEes.data)
- wx.requestPayment({
- timeStamp: payInfo.timeStamp,
- nonceStr : payInfo.nonceStr,
- package : payInfo.package,
- paySign : payInfo.paySign,
- signType : payInfo.signType,
- success : res=>{
- if(res.errMsg == "requestPayment:ok"){
- wx.showToast({
- title: '支付成功',
- icon : 'success'
- })
+ // 第一步接口调取
+ dataUrl.then(payEes=>{
+ let payInfo = JSON.parse(payEes.data)
+ wx.requestPayment({
+ timeStamp: payInfo.timeStamp,
+ nonceStr : payInfo.nonceStr,
+ package : payInfo.package,
+ paySign : payInfo.paySign,
+ signType : payInfo.signType,
+ success : res=>{
+ if(res.errMsg == "requestPayment:ok"){
+ wx.showToast({
+ title: '支付成功',
+ icon : 'success'
+ })
+ if(Newtype == 'welfare'){
+ setTimeout(()=>{
+ if(this.data.isdeliver == 1) {
+ wx.reLaunch({
+ url: '/pages/order/order?orderType=welfareGoods'
+ })
+ } else {
+ wx.reLaunch({
+ url: '/pages/order/order?orderType=welfare'
+ })
+ }
+ },3000)
+ }
+ if(Newtype == 'right'){
+ setTimeout(()=>{
+ if(this.data.isdeliver == 1) {
+ wx.reLaunch({
+ url: '/pages/order/order?orderType=rightsCoupons'
+ })
+ } else {
+ wx.reLaunch({
+ url: '/pages/order/order?orderType=rights'
+ })
+ }
+ },3000)
+ }
+ }
+ },
+ fail : res=>{
if(Newtype == 'welfare'){
- setTimeout(()=>{
- if(this.data.isdeliver == 1) {
- wx.reLaunch({
- url: '/pages/order/order?orderType=welfareGoods'
- })
- } else {
- wx.reLaunch({
- url: '/pages/order/order?orderType=welfare'
- })
- }
- },3000)
+ if(this.data.isdeliver == 1) {
+ wx.reLaunch({
+ url: '/pages/order/order?orderType=welfareGoods&stateType=unpay'
+ })
+ } else {
+ wx.reLaunch({
+ url: '/pages/order/order?orderType=welfare&stateType=unpay'
+ })
+ }
}
if(Newtype == 'right'){
- setTimeout(()=>{
- if(this.data.isdeliver == 1) {
- wx.reLaunch({
- url: '/pages/order/order?orderType=rightsCoupons'
- })
- } else {
- wx.reLaunch({
- url: '/pages/order/order?orderType=rights'
- })
- }
- },3000)
+ if(this.data.isdeliver == 1) {
+ wx.reLaunch({
+ url: '/pages/order/order?orderType=rightsCoupons&stateType=unpay'
+ })
+ } else {
+ wx.reLaunch({
+ url: '/pages/order/order?orderType=rights&stateType=unpay'
+ })
+ }
}
}
- },
- fail : res=>{
- if(Newtype == 'welfare'){
- if(this.data.isdeliver == 1) {
- wx.reLaunch({
- url: '/pages/order/order?orderType=welfareGoods&stateType=unpay'
- })
- } else {
- wx.reLaunch({
- url: '/pages/order/order?orderType=welfare&stateType=unpay'
- })
- }
- }
- if(Newtype == 'right'){
- if(this.data.isdeliver == 1) {
- wx.reLaunch({
- url: '/pages/order/order?orderType=rightsCoupons&stateType=unpay'
- })
- } else {
- wx.reLaunch({
- url: '/pages/order/order?orderType=rights&stateType=unpay'
- })
- }
- }
- }
- })
- })
-
- })
+ })
+ }).catch(err => {});
+ }
+ }).catch(err => {});
}
})
\ No newline at end of file
diff --git a/pages/car/index.wxml b/pages/car/index.wxml
index 5dd57a1..1023678 100644
--- a/pages/car/index.wxml
+++ b/pages/car/index.wxml
@@ -103,21 +103,37 @@
-
- 请选择支付方式
-
+
+ 请选择支付方式
+
+
+
+
+
+ 微信支付
+
+
+
+
+
+
+ 沃钱包支付
+
+
+
+
-
+
diff --git a/pages/car/index.wxss b/pages/car/index.wxss
index 9c37a7d..86ac0a1 100644
--- a/pages/car/index.wxss
+++ b/pages/car/index.wxss
@@ -449,4 +449,37 @@
background: #dfae2e;
transform: scale(.9, .9);
font-size: 24rpx;
+}
+
+/* 支付类型选择 */
+.radioList-label {
+ padding: 20rpx 0 40rpx;
+ font-size: 28rpx
+}
+
+.payContList-label {
+ font-size: 28rpx;
+ display: flex;
+ margin-bottom: 40rpx;
+}
+
+.payContList-label:last-child {
+ border:none
+}
+
+.payContList-label-name {
+ flex: 1;
+ font-size: 32rpx;
+ display: flex;
+ line-height: 46rpx;
+}
+
+.payContList-label-img {
+ width: 46rpx;
+ height: 46rpx;
+ margin-right: 20rpx;
+}
+
+radio {
+ transform:scale(0.8);
}
\ No newline at end of file
diff --git a/pages/cashier/cashier.js b/pages/cashier/cashier.js
new file mode 100644
index 0000000..afaa2af
--- /dev/null
+++ b/pages/cashier/cashier.js
@@ -0,0 +1,169 @@
+// pages/cashier/cashier.js
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ allAmount: '', //支付金额
+ tradeNo : '', //支付订单
+ current : 1, //支付方式类型
+ paytType : '', //支付来源类型 welfarePay为周五福利支付 rightsPay为权益支付
+ isDeliver: '', //提货方式 1为自提 0为快递
+ barHeight: getApp().globalData.statusBarHeight, //顶部菜单栏
+ unicomPay: getApp().globalData.unicomPay //是否有沃支付
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad (options) {
+ this.setData({
+ allAmount : options.amount,
+ tradeNo : options.trade_no,
+ paytType : options.pay_type,
+ isDeliver : options.is_deliver
+ })
+
+ console.log(getApp().globalData.unicomPay)
+ },
+
+ /**
+ * 选择支付方式
+ */
+ radioChange(e) {
+ this.setData({
+ current : e.detail.value
+ })
+ },
+
+ /**
+ * 支付提交
+ */
+ submitPay() {
+ // current为1的时候为沃支付-直接跳转h5
+ if (this.data.current == 1) {
+ const newUrl = "https://card.ysd-bs.com/unicom/payment?trade_no=" + this.data.tradeNo
+ let url= encodeURIComponent(newUrl)
+ wx.redirectTo({
+ // 跳转到webview页面
+ url: `/pages/webView/webView?url=${url}`
+ });
+ }
+
+ // current为2的时候为微信支付
+ if(this.data.current == 2) {
+ let newUrl = '' //定义接口来源名称
+
+ if(this.data.paytType == "welfarePay") newUrl = wx.$api.index.fridayPay
+ if(this.data.paytType == "rightsPay") newUrl = wx.$api.index.wechat
+
+ newUrl(this.data.tradeNo).then(res=>{
+ let payInfo = JSON.parse(res.data)
+ wx.requestPayment({
+ timeStamp: payInfo.timeStamp,
+ nonceStr : payInfo.nonceStr,
+ package : payInfo.package,
+ paySign : payInfo.paySign,
+ signType : payInfo.signType,
+ success : res=>{
+ if(res.errMsg == "requestPayment:ok"){
+ wx.showToast({
+ title: '支付成功',
+ icon : 'success'
+ })
+ setTimeout(()=>{
+ if(this.data.isDeliver == 1) {
+ if( this.data.paytType == "rightsPay" ) {
+ wx.reLaunch({
+ url: '/pages/order/order?orderType=rightsCoupons'
+ })
+ }
+ if( this.data.paytType == "welfarePay" ) {
+ wx.reLaunch({
+ url: '/pages/order/order?orderType=welfareGoods'
+ })
+ }
+ } else {
+ if( this.data.paytType == "rightsPay" ) {
+ wx.reLaunch({
+ url: '/pages/order/order?orderType=rights'
+ })
+ }
+ if( this.data.paytType == "welfarePay" ) {
+ wx.reLaunch({
+ url: '/pages/order/order?orderType=welfare'
+ })
+ }
+
+ }
+ },3000)
+ }
+ },
+ fail : res=>{
+ if(this.data.isDeliver == 1) {
+ if( this.data.paytType == "rightsPay" ) {
+ wx.reLaunch({
+ url: '/pages/order/order?orderType=rightsCoupons&stateType=unpay'
+ })
+ }
+ if( this.data.paytType == "welfarePay" ) {
+ wx.reLaunch({
+ url: '/pages/order/order?orderType=welfareGoods&stateType=unpay'
+ })
+ }
+ } else {
+ if( this.data.paytType == "rightsPay" ) {
+ wx.reLaunch({
+ url: '/pages/order/order?orderType=rights&stateType=unpay'
+ })
+ }
+ if( this.data.paytType == "welfarePay" ) {
+ wx.reLaunch({
+ url: '/pages/order/order?orderType=welfare&stateType=unpay'
+ })
+ }
+ }
+ }
+ })
+ }).catch(err => {});
+ }
+ },
+
+ /**
+ * 是否取消支付
+ */
+ payReturn() {
+ wx.showModal({
+ title : '提示',
+ content : '是否取消支付',
+ success : res=> {
+ if (res.confirm) {
+ if(this.data.isDeliver == 1) {
+ if( this.data.paytType == "rightsPay" ) {
+ wx.reLaunch({
+ url: '/pages/order/order?orderType=rightsCoupons&stateType=unpay'
+ })
+ }
+ if( this.data.paytType == "welfarePay" ) {
+ wx.reLaunch({
+ url: '/pages/order/order?orderType=welfareGoods&stateType=unpay'
+ })
+ }
+ } else {
+ if( this.data.paytType == "rightsPay" ) {
+ wx.reLaunch({
+ url: '/pages/order/order?orderType=rights&stateType=unpay'
+ })
+ }
+ if( this.data.paytType == "welfarePay" ) {
+ wx.reLaunch({
+ url: '/pages/order/order?orderType=welfare&stateType=unpay'
+ })
+ }
+ }
+ }
+ }
+ })
+ }
+})
\ No newline at end of file
diff --git a/pages/cashier/cashier.json b/pages/cashier/cashier.json
new file mode 100644
index 0000000..590f347
--- /dev/null
+++ b/pages/cashier/cashier.json
@@ -0,0 +1,4 @@
+{
+ "usingComponents" : {},
+ "navigationStyle" : "custom"
+}
\ No newline at end of file
diff --git a/pages/cashier/cashier.wxml b/pages/cashier/cashier.wxml
new file mode 100644
index 0000000..e2e365f
--- /dev/null
+++ b/pages/cashier/cashier.wxml
@@ -0,0 +1,48 @@
+
+
+
+
+
+ 注:推荐使用沃支付,可在享优惠!
+
+
+
+ 支付类型线上支付
+
+
+
+ 付款金额
+
+
+ ¥{{ allAmount }}
+
+
+
+
+ 付款方式*
+
+
+
+
+
+
+ 沃支付支付
+
+
+
+
+
+
+ 微信支付
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/cashier/cashier.wxss b/pages/cashier/cashier.wxss
new file mode 100644
index 0000000..0ea51f1
--- /dev/null
+++ b/pages/cashier/cashier.wxss
@@ -0,0 +1,140 @@
+/* 头部 */
+.barHeader {
+ position: fixed;
+ background: #fff;
+ color: #000;
+ top: 0;
+ left: 0;
+ z-index: 9;
+ width: 100%;
+ height: 100rpx;
+ display: flex;
+}
+
+.barHeader-tool-icon {
+ width: 48rpx;
+ vertical-align: middle;
+ margin: 32rpx 0 0 20rpx;
+}
+
+.barHeader-title {
+ position: relative;
+ width: 100%;
+ text-align: center;
+ height: 100rpx;
+ line-height: 100rpx;
+}
+
+page {
+ background-color: #bc1d30;
+ padding: 40rpx;
+ box-sizing: border-box;
+}
+
+.cashierTips {
+ background-color: #FFFFFF;
+ font-weight: 600;
+ font-size: 30rpx;
+ border-radius: 10rpx;
+ margin-bottom: 40rpx;
+ line-height: 80rpx;
+ padding: 0 30rpx;
+ box-sizing: border-box;
+ color: #e69500;
+ display: flex;
+}
+
+.cashierTips image {
+ width: 32rpx;
+ height: 32rpx;
+ margin: 24rpx 10rpx 0 0;
+}
+
+.cashierCont {
+ width: 100%;
+ background-color: #ffffff;
+ padding: 30rpx;
+ box-sizing: border-box;
+ border-radius: 20rpx;
+ overflow: hidden;
+}
+.cashierCont-title text {
+ color: #7e7d81;
+ padding-right: 30rpx;
+}
+
+.cashierCont-price {
+ text-align: center;
+ margin: 90rpx 0;
+ color: #bc1d30;
+}
+
+.cashierCont-price-title {
+ font-size: 34rpx;
+ margin-bottom: 10rpx;
+}
+
+.cashierCont-price-number {
+ font-size: 60rpx;
+}
+
+.cashierCont-pay-title {
+ color: #7e7d81;
+ margin-bottom: 40rpx;
+}
+
+.cashierCont-pay-title text{
+ color: #bc1d30;
+ padding-left: 10rpx;
+}
+
+.cashierCont-pay-way {
+ height: 240rpx;
+}
+
+.cashierCont-way-label {
+ float: left;
+ border: 2rpx solid #e8e8e8;
+ box-sizing: border-box;
+ padding: 30rpx 0;
+ border-radius: 10rpx;
+ width: calc(50% - 84rpx);
+ text-align: center;
+ margin: 0 40rpx;
+ font-size: 30rpx;
+ position: relative;
+}
+
+.cashierCont-way-label.active {
+ border-color: #bc1d30;
+ color: #bc1d30;
+ box-shadow: 0 10rpx 20rpx rgba(188, 29, 48 ,.3);
+}
+
+.cashierCont-way-label radio {
+ opacity: 0;
+ position: absolute;
+ width: 100%;
+ height: 100%;
+ left: 0;
+ top: 0;
+}
+
+.cashierCont-way-label image {
+ width: 90rpx;
+ height: 90rpx;
+ display: block;
+ margin: 0 auto 20rpx;
+}
+
+.payBtn {
+ background-color: #bc1d30;
+ color: #ffffff;
+ height: 90rpx;
+ line-height: 90rpx;
+ width: 100%;
+ font-size: 32rpx;
+ padding: 0;
+ border-radius: 80rpx;
+ margin: 80rpx 0 40rpx;
+}
\ No newline at end of file
diff --git a/pages/chooseTel/chooseTel.js b/pages/chooseTel/chooseTel.js
index 536b210..2cfc53b 100644
--- a/pages/chooseTel/chooseTel.js
+++ b/pages/chooseTel/chooseTel.js
@@ -114,9 +114,10 @@ Page({
})
} else {
// 回到个人中心
- wx.switchTab({
- url: '/pages/user/user'
- })
+ // wx.switchTab({
+ // url: '/pages/user/user'
+ // })
+ wx.navigateBack({delta: 2})
}
})
},
@@ -134,20 +135,24 @@ Page({
// 写入缓存
wx.setStorage({
key : 'token',
- data : res.data.token
+ data : res.data.token,
+ success : ()=> {
+ if(this.data.way == "activity") {
+ // 回到活动首页
+ wx.reLaunch({
+ url: '/pages/activityInfo/activityInfo'
+ })
+ }else if(this.data.way == "shareLogin") {
+ // 回到上一页面
+ wx.navigateBack({delta: 2})
+ }else {
+ // 回到个人中心
+ wx.switchTab({
+ url: '/pages/user/user'
+ })
+ }
+ }
})
-
- if(this.data.way == "activity") {
- // 回到活动首页
- wx.reLaunch({
- url: '/pages/activityInfo/activityInfo'
- })
- } else {
- // 回到个人中心
- wx.switchTab({
- url: '/pages/user/user'
- })
- }
- })
+ }).catch(err => {});
}
})
\ No newline at end of file
diff --git a/pages/classify/classify.js b/pages/classify/classify.js
index 4bf9a64..e5ada44 100644
--- a/pages/classify/classify.js
+++ b/pages/classify/classify.js
@@ -34,6 +34,10 @@ Page({
this.indexNav(options.id,options.areaname,options.latitude,options.userlng)
+ this.setData({
+ isUser : getApp().globalData.isUser
+ })
+
},
/**
* 生命周期函数--监听页面显示
@@ -79,30 +83,27 @@ Page({
userNav(e){
let newid = e.currentTarget.dataset.id,
canFrom = e.currentTarget.dataset.from
- wx.getStorage({
- key : 'token',
- success:res=>{
- if(canFrom == 'washcar') {
- wx.$api.index.washcarUrl('', newid).then(res=>{
- const newUrl = res.data
- let url= encodeURIComponent(newUrl)
- wx.redirectTo({
- // 跳转到webview页面
- url: `/pages/washcar/washcar?url=${url}`
- });
- })
- } else {
- // 跳转权益详情页
- wx.navigateTo({
- url: '/pages/rights/rights?rightsId=' + newid
- })
- }
- },
- fail: (err) => {
+ if(this.data.isUser){
+ if(canFrom == 'washcar') {
+ wx.$api.index.washcarUrl('', newid).then(res=>{
+ const newUrl = res.data
+ let url= encodeURIComponent(newUrl)
+ wx.redirectTo({
+ // 跳转到webview页面
+ url: `/pages/washcar/washcar?url=${url}`
+ });
+ }).catch(err => {});
+ } else {
+ // 跳转权益详情页
wx.navigateTo({
- url: "/pages/login/login"
+ url: '/pages/rights/rights?rightsId=' + newid
})
}
- })
+ }else{
+ // 去登录
+ wx.navigateTo({
+ url: "/pages/login/login"
+ })
+ }
}
})
\ No newline at end of file
diff --git a/pages/code/code.js b/pages/code/code.js
index 4bbaac3..6228071 100644
--- a/pages/code/code.js
+++ b/pages/code/code.js
@@ -8,10 +8,11 @@
* 页面的初始数据
*/
data: {
- qrcode : '', //二维码
- userInfo: '', //我的信息
- isImgLay: false, //是否显示图片弹出层
- parentId: '' //是否分享进入
+ qrcode : '', //二维码
+ userInfo : '', //我的信息
+ isImgLay : false,//是否显示图片弹出层
+ parentId : '', //是否分享进入
+ shareState : false //显示分享朋友圈弹出层
},
/**
@@ -30,7 +31,7 @@
qrcode : res.data.qrcode,
userInfo : res.data.user
})
- })
+ }).catch(err=>{})
},
/**
@@ -43,7 +44,7 @@
let avatarImg = new Promise(success=>{
wx.getImageInfo({
- src : this.data.userInfo.avatar,
+ src : '',
success : res => {
success(res.path)
}
@@ -60,38 +61,44 @@
})
})
- Promise.all([codeImg, avatarImg]).then(res => {
+ Promise.all([codeImg]).then(res => {
// 绘制海报
const ctx = wx.createCanvasContext('qrcodeCard')
ctx.save()
// 绘制背景
- ctx.setFillStyle('#f7662d')
+ ctx.setFillStyle('#e2e2e2')
ctx.fillRect(0, 0, 375, 603)
// 绘制背景
ctx.drawImage('/static/img/user-codeImg-down.png', 0, 0, 375, 650)
// 绘制二维码
- ctx.drawImage(res[0], 114, 390, 150, 150)
+ ctx.drawImage(res[0], 114, 470, 150, 150)
// 文字
- ctx.setFontSize(16)
- ctx.setFillStyle("#2f3245")
- ctx.setTextAlign('center')
- ctx.fillText(this.data.userInfo.nickname, 194, 350 , 270)
+ // ctx.setFontSize(16)
+ // ctx.setFillStyle("#2f3245")
+ // ctx.setTextAlign('center')
+ // ctx.fillText(this.data.userInfo.nickname, 194, 350 , 270)
// 文字
- ctx.setFontSize(14)
- ctx.setFillStyle("#af7700")
+ ctx.setFontSize(40)
+ ctx.setFillStyle("#222222")
ctx.setTextAlign('center')
- ctx.fillText(this.data.userInfo.nickname + " -- " + "邀请您进入本时生活", 188, 570 , 270)
+ ctx.fillText("扫码享福利", 188, 400 , 270)
+
+ // 文字
+ ctx.setFontSize(18)
+ ctx.setFillStyle("#222222")
+ ctx.setTextAlign('center')
+ ctx.fillText("扫描二维码加入本时生活", 188, 440 , 270)
ctx.save();
ctx.beginPath(); //开始绘制
ctx.arc(70 / 2 + 156, 70 / 2 + 250, 70 / 2, 0, Math.PI * 2, false);
ctx.clip();
- ctx.drawImage(res[1], 156, 250, 70, 70);
+ // ctx.drawImage(res[1], 156, 250, 70, 70);
// 保存图片
ctx.draw(true, () => {
@@ -122,9 +129,7 @@
}
})
},
- complete: e => {
- console.log(e)
- }
+ complete: e => {}
})
}
})
@@ -157,6 +162,15 @@
})
},
+ /**
+ * 分享朋友圈弹出层状态
+ */
+ shareShow() {
+ this.setData({
+ shareState: !this.data.shareState
+ })
+ },
+
/**
* 分享
*/
@@ -164,7 +178,18 @@
return {
title : this.data.userInfo.nickname + "邀请您进入本时生活",
imageUrl: "",
- query : "/pages/code/code?parent_id=" + this.data.userInfo.user_id + "&type=share"
+ path : "/pages/index/index?parent_id=" + this.data.userInfo.user_id + "&type=share"
}
+ },
+
+ /**
+ * 用户点击右上角分享朋友圈
+ */
+ onShareTimeline () {
+ return {
+ title : this.data.userInfo.nickname + "邀请您进入本时生活",
+ path : "/pages/index/index?parent_id=" + this.data.userInfo.user_id + "&type=share",
+ imageUrl: ''
+ }
}
})
\ No newline at end of file
diff --git a/pages/code/code.json b/pages/code/code.json
index 41c15a0..5586f8d 100644
--- a/pages/code/code.json
+++ b/pages/code/code.json
@@ -1,6 +1,6 @@
{
"usingComponents": {},
"navigationBarTitleText": "我的邀请码",
- "navigationBarBackgroundColor": "#332829",
+ "navigationBarBackgroundColor": "#000000",
"navigationBarTextStyle": "white"
}
\ No newline at end of file
diff --git a/pages/code/code.wxml b/pages/code/code.wxml
index 791e45f..7138755 100644
--- a/pages/code/code.wxml
+++ b/pages/code/code.wxml
@@ -1,48 +1,70 @@
-
+
+
+
-
-
+
+ 每邀请一位好友注册成功后
+ 您将获得30元消费红包奖励
+
{{userInfo.nickname}}
-
-
+
+
+ 邀好友享福利
+ 邀请好友加入本时生活
+
+
+
+
+
+ 朋友圈
+
- 下载海报
+
+ 生成海报
-
-
+
-
-
-
- {{userInfo.nickname}}
-
-
-
-
-
- 邀请好友扫码,即可绑定关系
-
+
+ 扫码享福利
+ 识别二维码加入本时生活
+
+
+
+
+
+
+
+ 1
+ 点击右上角打开菜单
+
+
+ 2
+ 选择菜单分享朋友圈
+
+
+
\ No newline at end of file
diff --git a/pages/code/code.wxss b/pages/code/code.wxss
index fcd91bb..785ba2a 100644
--- a/pages/code/code.wxss
+++ b/pages/code/code.wxss
@@ -1,124 +1,127 @@
page {
- background-color: #f5ecd8;
+ background-color: #e2e2e2;
}
-/* 标题 */
.codeTitle {
- width: 100vw;
- height: 45vh;
- text-align: center;
- position: absolute;
- left: 0;
- top: 0;
-}
-
-/* 按钮 */
-.codeShare {
width: 100%;
- position: fixed;
- bottom: 0;
- left: 0;
- background-color: #333333;
- display: flex;
- padding: 30rpx 20rpx 40rpx;
+ background-color: #000000;
+ border-radius: 0 0 200rpx 200rpx;
+ padding: 40rpx 20rpx 160rpx;
box-sizing: border-box;
- z-index: 9;
}
-.codeShare-label {
- width: calc(50% - 20rpx) !important;
- margin: 0 10rpx;
- font-weight: normal;
+.codeTitle {
text-align: center;
- height: 80rpx;
- line-height: 80rpx;
- padding: 0;
- border-radius: 60rpx;
- border: #c1a468 2rpx solid;
- font-size: 32rpx;
- color: #412f0b;
- background: linear-gradient(to bottom, #eee3c8, #c1a468);
+ width: 100%;
}
-.codeShare-button {
- color: #ffd887;
- background: transparent;
-}
-
-/* 二维码 */
.codeCont {
- position: relative;
- width: 80vw;
- left: 10vw;
- top: 31.5vh;
- background-color: #fff;
- box-sizing: border-box;
- border-radius: 10rpx;
- justify-items: center;
+ background-color: #ffffff;
+ margin: -120rpx auto 0;
+ width: 84%;
+ border-radius: 20rpx;
+ box-shadow: 0 0 20rpx rgba(0, 0, 0, .2);
+ padding: 40rpx 0;
+}
+
+.codeCont-tisp {
text-align: center;
- z-index: 8;
- margin-bottom: 200rpx;
+ color: #fff;
+ background-color: #797979;
+ padding: 10rpx 0;
}
-.codeCont-code {
- width: 340rpx;
- height: 340rpx;
- margin: 20rpx 0 40rpx;
-}
-
-.codeCont-tips {
- border-radius: 10rpx 10rpx 0 0;
- width: 100%;
-}
-
-.codeCont-gold {
- position: absolute;
- width: 100rpx;
- height: 100rpx;
- right: 40rpx;
- top: -40rpx;
+.codeCont-tisp text {
+ display: block;
}
.codeCont-text {
- position: absolute;
- width: 100%;
text-align: center;
- top: 30rpx;
- left: 0;
- color: #71552d;
- font-weight: 600;
+ margin: 40rpx 0;
}
.codeCont-avatar {
- width: 130rpx;
- height: 130rpx;
+ width: 160rpx;
+ height: 160rpx;
border-radius: 50%;
- margin-bottom: 5rpx;
- border: 6rpx solid #ebdcb9;
+ margin-bottom: 20rpx;
}
-.codeCont-words {
- margin-top: 40rpx;
- width: 100%;
+.codeCont-code {
+ text-align: center;
}
+.codeCont-img {
+ width: 300rpx;
+ height: 300rpx;
+}
+
+.codeCont-title {
+ margin-bottom: 20rpx;
+}
+
+.codeCont-title-text {
+ font-size: 46rpx;
+ font-weight: 700;
+ margin-bottom: 10rpx;
+ letter-spacing: 4rpx;
+}
+
+.codeCont-title-tips {
+ font-size: 28rpx;
+}
+
+.codeShare {
+ margin-top: 40rpx;
+}
+
+.codeShare {
+ display: flex;
+ padding: 0 50rpx;
+ box-sizing: border-box;
+}
+
+.codeShare-label {
+ flex: 3;
+ text-align: center;
+ font-size: 28rpx;
+}
+
+.codeShare-label image {
+ width: 80rpx;
+ height: 80rpx;
+ display: block;
+ margin: 0 auto 20rpx;
+}
+
+.codeShare-button {
+ width: auto !important;
+ border: none;
+ background: transparent;
+ font-size: 28rpx;
+ margin: 0;
+ padding: 0;
+ font-weight: normal;
+}
+
+
/* 弹窗背景图 */
-.user-lay{
- display: -webkit-box;
- -webkit-box-orient: vertical;
- -webkit-box-pack: center;
- position: fixed;
- background: rgba(0, 0, 0, .6);
- height: 100vh;
+.user-lay {
+ display: -webkit-box;
+ -webkit-box-orient: vertical;
+ -webkit-box-pack: center;
+ position: fixed;
+ background: rgba(0, 0, 0, .6);
+ height: 100vh;
width: 100vw;
top: 0;
left: 0;
- z-index: 99;
- box-sizing: border-box;
+ z-index: 99;
+ box-sizing: border-box;
}
/* canvas */
-.canvasImg{
+.canvasImg {
position: absolute;
left: -1000%;
height: 650px;
@@ -126,82 +129,119 @@ page {
background: #fbf6f0;
}
+
/* 图片弹出层 */
-.sign-img-lay{
- text-align: center;
+.sign-img-lay {
+ text-align: center;
}
-.sign-img-src{
- width: 70vw;
- vertical-align: top;
+.sign-img-src {
+ width: 70vw;
+ vertical-align: top;
}
-.sign-img-btn[size="mini"]{
- margin-top: 40rpx;
+.sign-img-btn[size="mini"] {
+ margin-top: 40rpx;
background: #f5d48f;
font-weight: normal;
- color: #2f3245;
- height: 90rpx;
- line-height: 90rpx;
- padding: 0;
- width: 70vw;
+ color: #2f3245;
+ height: 90rpx;
+ line-height: 90rpx;
+ padding: 0;
+ width: 80%;
}
-.remove-btn[size="mini"]{
- margin-top: 20rpx;
- background: #101010;
- color: #e5c175;
+.remove-btn[size="mini"] {
+ margin-top: 20rpx;
+ background: #101010;
+ color: #e5c175;
font-weight: normal;
}
/* 背景 */
-.user-back {
- position: relative;
+.user-back-img {
width: 100%;
- height:600rpx;
- text-align: center;
- margin-top: 100rpx;
+ display: block;
}
-.user-back-img {
- position: absolute;
- width: 70vw;
- left: 15vw;
- top: 0;
- height: 100%;
+.user-back {
+ position: relative;
+ width: 80%;
+ text-align: center;
margin: 0 auto;
- border-radius: 10rpx;
}
.user-back-cont {
- position: absolute;
+ text-align: center;
+ background-color: #e2e2e2;
+ padding: 40rpx 0;
+}
+
+.user-back-cont image {
+ width: 300rpx;
+ height: 300rpx;
+}
+
+.codeBack-yard-name {
+ margin-bottom: 30rpx;
+}
+
+.codeBack-yard-title {
+ font-size: 50rpx;
+ font-weight: 600;
+ letter-spacing: 4rpx;
+ margin-bottom: 20rpx;
+}
+
+/* 朋友圈弹出层 */
+.sharePop {
+ position: fixed;
left: 0;
top: 0;
width: 100%;
height: 100%;
- color: #2f3245;
+ z-index: 9;
+ background-color: rgba(0, 0, 0, .6);
+ text-align: center;
}
-.user-back-avatar image {
+.sharePop-row {
width: 140rpx;
- height: 140rpx;
+ position: fixed;
+ right: 110rpx;
+ top: 0;
+}
+
+.shareList {
+ color: #ffffff;
+ line-height: 60rpx;
+ font-weight: 700;
+ font-size: 36rpx;
+ width: 100%;
+ height: 100%;
+ position: absolute;
+ z-index: 10;
+ top: 30%;
+}
+
+.shareLabel {
+ margin-bottom: 40rpx;
+}
+
+.shareLabel image {
+ width: 60rpx;
+ height: 60rpx;
+ margin: 0 20rpx;
+ vertical-align: middle;
+}
+
+.shareLabel text {
+ display: inline-block;
+ background: #0696ca;
+ width: 40rpx;
+ height: 40rpx;
+ line-height: 40rpx;
+ font-size: 26rpx;
border-radius: 50%;
- margin-top: -60rpx;
- margin-bottom: 20rpx;
- border: 6rpx solid #fff1d1;
-}
-
-.user-back-yard {
- margin-top: 40rpx;
-}
-
-.codeBack-yard-name {
- font-size: 28rpx;
- color: #af7700;
-}
-
-.user-back-yard image {
- width: 240rpx;
- height: 240rpx;
- margin-bottom: 20rpx;
+ margin: 8rpx 10rpx 0 0;
}
\ No newline at end of file
diff --git a/pages/coupon/coupon.js b/pages/coupon/coupon.js
index f906b50..af81a20 100644
--- a/pages/coupon/coupon.js
+++ b/pages/coupon/coupon.js
@@ -58,7 +58,7 @@ Page({
count : res.data.count,
coupons : res.data.list
})
- })
+ }).catch(err => {});
},
/**
diff --git a/pages/couponArr/couponArr.js b/pages/couponArr/couponArr.js
index d952bdf..70c069d 100644
--- a/pages/couponArr/couponArr.js
+++ b/pages/couponArr/couponArr.js
@@ -41,7 +41,7 @@ Page({
lodingStats : false
})
wx.stopPullDownRefresh()
- })
+ }).catch(err => {});
},
/**
diff --git a/pages/couponDetails/couponDetails.js b/pages/couponDetails/couponDetails.js
index e75b43c..2e3d6ce 100644
--- a/pages/couponDetails/couponDetails.js
+++ b/pages/couponDetails/couponDetails.js
@@ -170,7 +170,7 @@ Page({
},fail : res=> {
}
})
- })
+ }).catch(err => {});
},
/**
@@ -182,7 +182,7 @@ Page({
this.setData({
merchantcardinfo : res.data
})
- })
+ }).catch(err => {});
},
/**
diff --git a/pages/favour/favour.js b/pages/favour/favour.js
index 89f9efe..798dd95 100644
--- a/pages/favour/favour.js
+++ b/pages/favour/favour.js
@@ -32,7 +32,7 @@ Page({
account: res.data.account,
typeArr: res.data.accounts
})
- })
+ }).catch(err=>{})
},
/**
diff --git a/pages/favour/favour.wxml b/pages/favour/favour.wxml
index 73665de..045e1ca 100644
--- a/pages/favour/favour.wxml
+++ b/pages/favour/favour.wxml
@@ -1,43 +1,56 @@
+
+
+
+
+ 我的{{typeArr[typeIndex].value}}
- 本时生活 -- 积分赠与
{{typeArr[typeIndex].value}}
- {{typeArr[typeIndex].key == 'silver' ? account.silver : account.drill}}
+
+ {{typeArr[typeIndex].key == 'silver' ? account.silver : account.drill}}元
+
+
+
+
+
+ 赠好友消费红包
+
+
+ 赠予记录
+
-
- 赠好友积分
-
-
+
+
diff --git a/pages/favour/favour.wxss b/pages/favour/favour.wxss
index 42cd0a3..f45ebc6 100644
--- a/pages/favour/favour.wxss
+++ b/pages/favour/favour.wxss
@@ -1,9 +1,15 @@
page {
- background: #fcdece;
+ background-color: #000000;
}
-.favourBack {
+.favourTitle {
+ text-align: center;
+ margin: 40rpx 0;
+}
+
+.favourBack{
position: relative;
+ width: 100vw;
}
.favourBack-img {
@@ -13,128 +19,129 @@ page {
.favourBack-cont {
position: absolute;
- top: 0;
- width: 100%;
- padding: 140rpx 40rpx;
- box-sizing: border-box;
+ top: 100rpx;
left: 0;
- color: #ca3c19;
-}
-
-.favourBack-cont-title {
- font-size: 32rpx;
- font-weight: 600;
- margin-bottom: 30rpx;
-}
-
-.favourBack-cont-name {
- font-size: 46rpx;
- font-weight: 600;
+ padding-left: 14%;
+ z-index: 1;
+ color: #606060;
+ width: 100%;
+ box-sizing: border-box;
}
.favourBack-cont-number {
- background-color: #ff5e5d;
- color: #fff;
- border-radius: 50rpx;
- display: inline-block;
- padding: 4rpx 20rpx;
- margin-top: 15rpx;
+ color: #000000;
+ width: 100%;
+ margin-top: 20rpx;
}
-/* 表单 */
-.favourCont {
- background-color: #fff;
- margin: 0 30rpx;
- padding: 0 40rpx 60rpx;
- box-sizing: border-box;
- border-radius: 30rpx;
-}
-
-.favourCont-title {
- text-align: center;
- color: #d57449;
- font-size: 38rpx;
+.favourBack-cont-number text {
+ font-size: 50rpx;
font-weight: 600;
- width: 100%;
- padding: 30rpx 0 50rpx;
+ padding-right: 10rpx;
+ display: inline-block;
}
-.favourCont-label {
- position: relative;
- line-height: 80rpx;
- background-color: #f4f4f4;
- margin-bottom: 40rpx;
- font-size: 28rpx;
-}
-
-.favourCont-name {
- background-color: #ffffff;
- width: 130rpx;
-}
-
-.favourCont-label>input,
-.favourCont-picker,
-.favourCont-check {
+.favourBack-cont-title {
position: absolute;
- left: 0;
- font-size: 28rpx;
top: 0;
- display: block;
- height: 80rpx;
- padding: 0 30rpx 0 160rpx;
+ left: 0;
+ width: 100%;
+ text-align: center;
+ font-size: 26rpx;
+ line-height: 50rpx;
+}
+
+.favourCont {
+ background-color: #ffffff;
+ padding: 40rpx 50rpx;
width: 100%;
box-sizing: border-box;
+ border-radius: 5rpx 5rpx 0 0;
}
-.favourCont-picker image {
- width: 50rpx;
- height: 50rpx;
- position: absolute;
- right: 10rpx;
- top: 14rpx;
-}
-
-.favourCont-btn {
- background: linear-gradient(to right, #ff8e65, #ff5f5d);
- color: #fff;
- margin-top: 80rpx;
- width: 100% !important;
- font-size: 32rpx;
- line-height: 54rpx;
+.favourBlack {
+ background-color: #e9e9e9;
+ padding: 40rpx;
+ box-sizing: border-box;
+ border-radius: 45rpx;
}
.favourCont-record {
+ line-height: 90rpx;
text-align: center;
- color: #ff5f5d;
- font-size: 30rpx;
- font-weight: 600;
+ font-size: 34rpx;
+}
+
+.favourCont-title {
+ font-size: 45rpx;
+ text-align: center;
+}
+
+.favourCont-label {
+ display: flex;
margin-top: 40rpx;
- text-align: center;
- width: 100%;
+ font-size: 28rpx;
}
-.favourCont-record text {
- border-bottom: #ff5f5d solid 4rpx;
- display: inline-block;
-}
-
-.favourCont-check {
+.favourCont-check,
+.favourCont-picker,
+.favourCont-label>input {
+ background-color: #c9c9c9;
+ display: flex;
+ width: calc(100% - 160rpx);
+ padding: 0 20rpx;
+ box-sizing: border-box;
+ height: 80rpx;
line-height: 80rpx;
}
-.favourCont-check>input {
+.favourCont-picker {
+ position: relative;
+}
+
+.favourCont-picker image {
+ width: 40rpx;
+ height: 40rpx;
+ position: absolute;
+ right: 0;
+ top: 20rpx;
+ z-index: 2;
+}
+
+.favourCont-label input {
height: 80rpx;
+ line-height: 80rpx;
+}
+
+.favourCont-name {
+ width: 160rpx;
+ line-height: 80rpx;
}
.favourCont-check-btn {
- font-size: 28rpx;
+ width: 150rpx;
+ text-align: center;
+ background-color: #a1a1a1;
+ line-height: 60rpx;
+ height: 60rpx;
+ margin-top: 10rpx;
+ font-size: 24rpx;
+}
+
+.favourCont-btn {
+ width: 100% !important;
+ background-color: #dbc190;
+ margin-top: 40rpx;
+ border-radius: 60rpx;
+}
+
+.tabs-text {
+ width: 100%;
position: absolute;
- right: 0;
+ left: 0;
top: 0;
- background: #ff8e65;
- padding: 0 20rpx;
- color: #fff;
- z-index: 9;
+ padding-left: 20rpx;
+ box-sizing: border-box;
}
/* 校验弹出层 */
diff --git a/pages/frozen/frozen.js b/pages/frozen/frozen.js
index adad58a..8b33459 100644
--- a/pages/frozen/frozen.js
+++ b/pages/frozen/frozen.js
@@ -36,7 +36,7 @@ Page({
this.setData({
frozenData: res.data
})
- })
+ }).catch(err => {});
},
// 轮播滑动
diff --git a/pages/index/index.js b/pages/index/index.js
index 3ff8879..5d982cd 100644
--- a/pages/index/index.js
+++ b/pages/index/index.js
@@ -159,7 +159,7 @@ Page({
},
/**
- * 处理未登录时的转跳
+ * 处理权益未登录时的转跳
*/
userNav(e){
let user_lng = this.data.longitude, //经度
@@ -181,6 +181,23 @@ Page({
})
},
+ /**
+ * 处理未登录时的转跳
+ */
+ userUrl(e){
+ let pageUrl = e.currentTarget.dataset.url
+ if(this.data.isUser){
+ wx.navigateTo({
+ url: pageUrl
+ })
+ }else{
+ // 去登录
+ wx.navigateTo({
+ url: "/pages/login/login"
+ })
+ }
+ },
+
/**
* 点击轮播图片
*/
@@ -364,7 +381,7 @@ Page({
wx.hideLoading();
}, 1000)
- })
+ }).catch(err => {});
}
},
fail: err => {
diff --git a/pages/index/index.wxml b/pages/index/index.wxml
index 5dab53f..3abbeff 100644
--- a/pages/index/index.wxml
+++ b/pages/index/index.wxml
@@ -38,7 +38,6 @@
-
@@ -147,4 +146,14 @@
-
\ No newline at end of file
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/index/index.wxss b/pages/index/index.wxss
index bfc21d8..055c1b0 100644
--- a/pages/index/index.wxss
+++ b/pages/index/index.wxss
@@ -686,3 +686,36 @@ page {
25% {opacity: 0;transform: translateX(-3px);}
75% {opacity: 1;transform: translateX(3px);}
}
+
+
+/* 漂浮弹出层 */
+.indexFloat {
+ position: fixed;
+ right: 20rpx;
+ bottom: 30rpx;
+ z-index: 99;
+}
+
+.indexFloat-img image {
+ width: 130rpx;
+ height: 130rpx;
+ margin-bottom: 20rpx;
+}
+
+.indexFloat-animation {
+ animation: shake 3s linear infinite;
+}
+
+@keyframes shake {
+ 70%, 80% {
+ transform: rotate(7deg);
+ }
+ 75% {
+ transform: rotate(-7deg);
+ }
+
+ 65%,
+ 85% {
+ transform: rotate(0);
+ }
+}
\ No newline at end of file
diff --git a/pages/login/login.js b/pages/login/login.js
index 6cd0ee3..2e4ca42 100644
--- a/pages/login/login.js
+++ b/pages/login/login.js
@@ -133,7 +133,7 @@ Page({
// 清除扫码进入获取parent_id的缓存
wx.removeStorageSync('parentId')
- })
+ }).catch(err => {});
}
})
\ No newline at end of file
diff --git a/pages/makeForm/makeForm.js b/pages/makeForm/makeForm.js
index 362be67..ba2a133 100644
--- a/pages/makeForm/makeForm.js
+++ b/pages/makeForm/makeForm.js
@@ -47,17 +47,10 @@ Page({
})
}).catch(err=>{
if(!err.login){
- wx.showModal({
- title : '用户登录已过期',
- content : '请重新登录',
- showCancel : false,
- success : res => {
- if (res.confirm) {
- wx.redirectTo({
- url: '/pages/login/login'
- })
- }
- }
+ // 写入缓存
+ wx.setStorage({
+ key : 'token',
+ data : ''
})
}
})
@@ -105,7 +98,11 @@ Page({
}, 2000)
}).catch(err=>{
if(!err.login){
-
+ // 写入缓存
+ wx.setStorage({
+ key : 'token',
+ data : ''
+ })
}
})
},
diff --git a/pages/myBalance/myBalance.js b/pages/myBalance/myBalance.js
index 1fdd811..889a615 100644
--- a/pages/myBalance/myBalance.js
+++ b/pages/myBalance/myBalance.js
@@ -56,7 +56,7 @@ Page({
accounts : newData,
page : res.data.page
})
- })
+ }).catch(err => {});
},
/**
diff --git a/pages/myBalance/myBalance.wxml b/pages/myBalance/myBalance.wxml
index 7720c6e..6438532 100644
--- a/pages/myBalance/myBalance.wxml
+++ b/pages/myBalance/myBalance.wxml
@@ -6,6 +6,7 @@
¥{{number}}
+ 我的收益
@@ -16,7 +17,7 @@
-
+
提现记录
diff --git a/pages/myBalance/myBalance.wxss b/pages/myBalance/myBalance.wxss
index d7c50f7..5cf2088 100644
--- a/pages/myBalance/myBalance.wxss
+++ b/pages/myBalance/myBalance.wxss
@@ -26,7 +26,7 @@
}
.balanceCont-number {
- color: #ffba33;
+ color: #ffd890;
font-size: 80rpx;
font-weight: 600;
}
@@ -36,6 +36,26 @@
padding-right: 10rpx;
}
+.balanceUrl {
+ position: absolute;
+ right: 0;
+ top: 30rpx;
+ background-color: #37332d;
+ font-size: 28rpx;
+ border-radius: 40rpx 0 0 40rpx;
+ line-height: 68rpx;
+ border: 2rpx solid #887351;
+ padding-left: 30rpx;
+ color: #ead2a5;
+ display: flex;
+}
+
+.balanceUrl image {
+ width: 54rpx;
+ height: 54rpx;
+ margin-top: 9rpx;
+}
+
/* 提现 */
.label {
background-color: white;
@@ -176,4 +196,4 @@
.recommend-hint image {
width: 200rpx;
height: 200rpx;
-}
\ No newline at end of file
+}
diff --git a/pages/myProfit/myProfit.js b/pages/myProfit/myProfit.js
new file mode 100644
index 0000000..9d5c8b8
--- /dev/null
+++ b/pages/myProfit/myProfit.js
@@ -0,0 +1,194 @@
+// pages/myProfit/myProfit.js
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ profitCount : '', //收益数据-人数
+ profitFinance : '', //收益数据-收益信息
+ profitUser : '', //收益数据-用户信息
+ incometCount : '', //收益统计-团队
+ incometFfinance : '', //收益统计-收益
+ incometOrder : '', //收益统计-订单
+ incometMonths : '', //收益数据-月份列表
+ monthsIndex : 1, //账变记录筛选index
+ monthsValue : '', //账变记录筛选value
+ changeStyle : 'report', //tab默认选择类型
+ //收益订单筛选列表
+ ordersWay : [
+ {value: '0', name: "充值", type: 'recharge'},
+ {value: '1', name: "产品", type: 'product'}
+ ],
+ ordersIndex : 0, //收益订单筛选列表index
+ ordersValue : 'recharge', //收益订单筛选列表value
+ publicData : [], //订单与团队 公共数据列表
+ //我的团队筛选列表
+ teamWay : [
+ {value: 0, name: "用户"},
+ {value: 1, name: "达人"}
+ ],
+ teamIndex : 0, //我的团队筛选列表index
+ teamValue : 0, //我的团队筛选列表value
+ teamSort : 'asc', //我的团队排序
+ page : {}, //下一页
+ lodingStats : false, //加载状态
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad (options) { // })
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow () {
+ // 获取我的收益数据
+ this.profitInfo();
+
+ // 获取本月收益统计
+ this.incomeInfo();
+ },
+
+ /**
+ * tab栏选择
+ */
+ changeTabbar(e) {
+ this.setData({
+ changeStyle: e.currentTarget.dataset.style
+ })
+
+ if(e.currentTarget.dataset.style == 'report'){
+ // 获取收益统计
+ this.incomeInfo();
+ return
+ }
+
+ // 获取收益订单列表 + 我的团队列表
+ this.publicInfo();
+ },
+
+ /**
+ * 我的收益数据
+ */
+ profitInfo() {
+ wx.$api.user.myProfit().then(res=>{
+ this.setData({
+ profitCount : res.data.count,
+ profitFinance: res.data.finance,
+ profitUser : res.data.user
+ })
+ }).catch(err=>{})
+ },
+
+ /**
+ * 收益统计
+ */
+ incomeInfo() {
+ wx.$api.user.myIncome(this.data.monthsValue).then(res=>{
+ this.setData({
+ incometCount : res.data.count,
+ incometFfinance: res.data.finance,
+ incometOrder : res.data.order,
+ incometMonths : res.data.months,
+ monthsIndex : parseInt(res.data.this_month) - 1
+ })
+ }).catch(err=>{})
+ },
+
+ /**
+ * 收益订单列表 + 我的团队列表
+ */
+ publicInfo(page) {
+ let newStyle = this.data.changeStyle
+ let url = ''
+ if(newStyle == 'order') url = wx.$api.user.profitOrders(this.data.ordersValue, page)
+ if(newStyle == 'team') url = wx.$api.user.profitTeam(this.data.teamValue, this.data.teamSort, page)
+
+ url.then(res=>{
+ let listArr = this.data.publicData,
+ newData = []
+ if(page == 1 || page == undefined) listArr = []
+ newData = listArr.concat(res.data.data)
+
+ this.setData({
+ publicData : newData,
+ page : res.data.page,
+ lodingStats : false
+ })
+ wx.stopPullDownRefresh()
+ }).catch(err=>{})
+ },
+
+ /**
+ * 月份选择
+ */
+ screenBind(val) {
+ let newValue = parseInt(val.detail.value)
+ this.setData({
+ monthsValue : newValue + 1,
+ monthsIndex : val.detail.value
+ })
+
+ // 获取收益统计
+ this.incomeInfo();
+ },
+
+ /**
+ * 订单类型选择
+ */
+ screenOrders(val) {
+ this.setData({
+ ordersIndex: val.detail.value,
+ ordersValue: this.data.ordersWay[val.detail.value].type
+ })
+ // 获取收益订单列表 + 我的团队列表
+ this.publicInfo();
+ },
+
+ /**
+ * 团队类型选择
+ */
+ screenTeam(val) {
+ this.setData({
+ teamIndex: val.detail.value,
+ teamValue: this.data.ordersWay[val.detail.value].value
+ })
+ // 获取收益订单列表 + 我的团队列表
+ this.publicInfo();
+ },
+
+ /**
+ * 销量排序
+ */
+ teamTap () {
+ if (this.data.teamSort == 'asc') {
+ this.setData({
+ teamSort : 'desc',
+ })
+ } else {
+ this.setData({
+ teamSort : 'asc',
+ })
+ }
+
+ // 获取收益订单列表 + 我的团队列表
+ this.publicInfo();
+ },
+
+ /**
+ * 上拉加载
+ */
+ onReachBottom(){
+ this.setData({
+ lodingStats: true
+ })
+ let pageNumber = this.data.page.current
+ if(this.data.page.has_more){
+ pageNumber++
+ this.publicInfo(pageNumber)
+ }
+ }
+})
\ No newline at end of file
diff --git a/pages/myProfit/myProfit.json b/pages/myProfit/myProfit.json
new file mode 100644
index 0000000..3257542
--- /dev/null
+++ b/pages/myProfit/myProfit.json
@@ -0,0 +1,6 @@
+{
+ "usingComponents": {},
+ "navigationBarTitleText": "我的收益",
+ "navigationBarBackgroundColor": "#d0a76c",
+ "navigationBarTextStyle": "white"
+}
\ No newline at end of file
diff --git a/pages/myProfit/myProfit.wxml b/pages/myProfit/myProfit.wxml
new file mode 100644
index 0000000..80f8bd2
--- /dev/null
+++ b/pages/myProfit/myProfit.wxml
@@ -0,0 +1,355 @@
+
+
+ {{profitUser.nickname}}的收益
+
+
+
+
+
+
+
+ 我在本时生活总收益!
+
+
+
+ 余额
+ ¥{{profitUser.account.balance}}
+
+ 提现
+
+
+
+
+ 分享产品收益
+
+
+ {{profitFinance.share_product}}
+
+
+
+
+ 团队产品消费收益
+
+
+ {{profitFinance.team_product}}
+
+
+
+
+ 分享储值收益
+
+
+ {{profitFinance.share_Recharge}}
+
+
+
+
+ 团队储值收益
+
+
+ {{profitFinance.team_recharge}}
+
+
+
+
+ 达人总数
+
+
+ {{profitCount.leader}}
+
+
+
+
+ 用户总数
+
+
+ {{profitCount.users}}
+
+
+
+
+
+
+ 总收益
+
+
+ {{profitFinance.all_profit}}
+
+
+
+
+ 已提现
+
+
+ {{profitFinance.withdrawed}}
+
+
+
+
+ 提现中
+
+
+ {{profitFinance.withdrawing}}
+
+
+
+
+
+
+
+ 收益报表
+ 收益订单
+ 我的团队
+
+
+
+
+
+
+
+ 本月收益统计
+
+
+
+ {{incometMonths[monthsIndex].name}}
+
+
+
+
+
+
+
+ 分享产品收益
+
+
+ {{incometFfinance.share_product.this_month}}
+
+
+
+ {{incometFfinance.share_product.text}}
+
+
+
+
+ 团队产品消费收益
+
+
+ {{incometFfinance.team_product.this_month}}
+
+
+
+ {{incometFfinance.team_product.text}}
+
+
+
+
+ 分享储值收益
+
+
+ {{incometFfinance.share_recharge.this_month}}
+
+
+
+ {{incometFfinance.share_recharge.text}}
+
+
+
+
+ 团队储值收益
+
+
+ {{incometFfinance.team_recharge.this_month}}
+
+
+
+ {{incometFfinance.team_recharge.text}}
+
+
+
+
+
+
+ 新增团队统计
+
+
+
+
+ 新增达人数
+
+
+ {{incometCount.leader}}
+
+
+
+
+ 新增用户数
+
+
+ {{incometCount.users}}
+
+
+
+
+
+
+ 消费订单统计
+
+
+
+
+ 产品消费
+
+
+ {{incometOrder.product}}
+
+
+
+
+ 储值消费
+
+
+ {{incometOrder.recharge}}
+
+
+
+
+
+
+
+
+
+
+ 共{{publicData.length}}条订单
+
+
+
+ {{ordersWay[ordersIndex].name}}
+
+
+
+
+
+
+
+
+ {{item.type
+ ==
+ 'recharge' ? '储值' : '产品'}}订单号:{{item.order.orderid}}
+
+
+
+ {{item.name}}
+
+
+
+
+ 姓名:{{item.user.nickname}}
+
+
+ 联系电话:{{item.user.username}}
+
+
+ 佣金:¥{{item.bonus}}
+
+
+ 当前状态:{{item.order.status}}
+
+
+
+
+
+
+
+ 加载中...
+
+
+ 没有更多了~
+
+
+
+
+
+
+ 抱歉,目前暂无数据~
+
+
+
+
+
+
+
+
+ 共{{publicData.length}}人
+
+
+
+ {{teamWay[teamIndex].name}}
+
+
+
+
+
+ 创收排行
+
+
+
+
+
+ 达人姓名
+ 联系电话
+ 身份
+ 创收额
+
+
+
+
+
+ {{item.user.nickname}}
+
+
+ {{item.user.username}}
+
+
+ {{item.user.identity.identity_name}}
+
+
+ {{item.balance}}
+
+
+
+
+
+
+ 加载中...
+
+
+ 没有更多了~
+
+
+
+
+
+
+
+
+ 抱歉,目前暂无数据~
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/myProfit/myProfit.wxss b/pages/myProfit/myProfit.wxss
new file mode 100644
index 0000000..1569099
--- /dev/null
+++ b/pages/myProfit/myProfit.wxss
@@ -0,0 +1,541 @@
+page {
+ background-color: #ececec;
+}
+
+/* 头部 */
+.profigHead {
+ background: linear-gradient(to bottom, #d0a76c 50%, #ffffff);
+ padding: 30rpx;
+ height: 300rpx;
+ width: 100%;
+ box-sizing: border-box;
+ overflow: hidden;
+}
+
+.profigHead-user {
+ line-height: 90rpx;
+ display: flex;
+}
+
+.profigHead-user image {
+ width: 90rpx;
+ height: 90rpx;
+ margin-right: 20rpx;
+ border-radius: 50%;
+ border: 2rpx solid #ffffff;
+}
+
+.profigHead-img {
+ opacity: .1;
+ width: 300rpx;
+ height: 300rpx;
+ position: absolute;
+ top: -50rpx;
+ right: -40rpx;
+}
+
+/* 内容 */
+.profigCont {
+ position: absolute;
+ top: 140rpx;
+ padding: 30rpx;
+ box-sizing: border-box;
+ width: 100%;
+}
+
+.profigLabel {
+ background-color: #2f2e2c;
+ border-radius: 20rpx;
+ overflow: hidden;
+}
+
+.profigLabel-top {
+ background: linear-gradient(-250deg, #feecd4, #d5b687 90%);
+ padding: 0 30rpx;
+ height: 90rpx;
+ line-height: 90rpx;
+}
+
+.profigLabel-balance {
+ color: #efd8b8;
+ padding: 30rpx 40rpx;
+ box-sizing: border-box;
+ display: flex;
+}
+
+.profigLabel-balance-left {
+ flex: 1;
+}
+
+.profigLabel-balance-name {
+ font-size: 28rpx;
+}
+
+.profigLabel-balance-left text {
+ font-size: 56rpx;
+ font-weight: 600;
+}
+
+.profigLabel-balance-withdrawal {
+ background-color: #fdebd3;
+ color: #000000;
+ display: inline-block;
+ height: 64rpx;
+ line-height: 64rpx;
+ padding: 0 40rpx;
+ border-radius: 60rpx;
+ margin-top: 40rpx;
+}
+
+
+.profigLabel-list-name {
+ margin-bottom: 10rpx;
+ display: flex;
+}
+
+.profigLabel-list-name image {
+ width: 20rpx;
+ height: 20rpx;
+ margin: 10rpx;
+}
+
+.profigLabel-list {
+ padding: 30rpx 40rpx 0;
+ box-sizing: border-box;
+}
+
+.profigLabel-list,
+.profigLabel-cash {
+ color: #ffffff;
+ position: relative;
+ overflow: hidden;
+ font-size: 28rpx;
+}
+
+.profigLabel-list::after,
+.profigLabel-list::before {
+ position: absolute;
+ content: '';
+ left: 0;
+ width: 100%;
+ height: 0;
+ border-top: 2rpx dotted #665f54;
+}
+
+.profigLabel-list::after {
+ top: 0;
+}
+
+.profigLabel-list::before {
+ bottom: 0;
+}
+
+.profigLabel-list-label {
+ width: 50%;
+ float: left;
+ margin-bottom: 40rpx;
+}
+
+.profigLabel-cash {
+ text-align: center;
+ padding: 30rpx 0;
+}
+
+.profigLabel-cash-label {
+ width: 33.33%;
+ float: left;
+}
+
+
+.profigLabel-cash-name {
+ margin-bottom: 10rpx;
+ display: inline-block;
+ position: relative;
+}
+
+.profigLabel-cash-active::after {
+ position: absolute;
+ content: '';
+ left: 0;
+ bottom: 4rpx;
+ width: 100%;
+ height: 2rpx;
+ background-color: #ffffff;
+}
+
+/* tab选项卡 */
+.profigTab-nav {
+ display: flex;
+ line-height: 120rpx;
+}
+
+.profigTab-nav-name {
+ width: 33.33%;
+ flex: 3;
+ text-align: center;
+ position: relative;
+}
+
+.profigTab-nav-name.active {
+ color: #ffa30a;
+}
+
+.profigTab-nav-name.active::after {
+ position: absolute;
+ content: '';
+ left: calc(50% - 30rpx);
+ bottom: 15rpx;
+ width: 60rpx;
+ height: 8rpx;
+ background-color: #ffa30a;
+}
+
+
+/* tab收益报表内容 */
+.profigReport,
+.profigOrder,
+.profigTeam {
+ border-radius: 20rpx;
+ margin-top: 20rpx;
+ display: none;
+}
+
+.profigReport.show,
+.profigOrder.show,
+.profigTeam.show {
+ display: block;
+}
+
+.profigReport {
+ background-color: #ffffff;
+}
+
+.profigReport-module {
+ padding: 30rpx 30rpx 40rpx;
+ box-sizing: border-box;
+}
+
+.profigReport-module-title {
+ display: flex;
+}
+
+.profigReport-module-name {
+ flex: 1;
+ font-weight: 700;
+}
+
+.profigReport-module-picker {
+ display: flex;
+ color: #797979;
+ font-size: 28rpx;
+ padding-top: 4rpx;
+}
+
+.profigReport-module-icon {
+ width: 28rpx;
+ height: 28rpx;
+ margin: 6rpx 0 0 10rpx;
+}
+
+.profigLabel-label-billie {
+ background-color: #fcf6ea;
+ border: 2rpx solid #f7e5db;
+ color: #f2863b;
+ padding-right: 20rpx;
+ height: 48rpx;
+ line-height: 48rpx;
+ font-size: 22rpx;
+ display: inline-flex;
+ border-radius: 10rpx;
+}
+
+.profigLabel-label-billie image {
+ width: 22rpx;
+ height: 22rpx;
+ margin: 12rpx 10rpx;
+}
+
+.profigLabel-label-billie.active {
+ color: #00a915;
+ background-color: #efffec;
+ border: 2rpx solid #c9fbbf;
+}
+
+.profigReport-list {
+ padding: 0 -20rpx;
+ width: 100%;
+ box-sizing: border-box;
+ overflow: hidden;
+}
+
+.profigReport-list-label {
+ width: calc(50% - 40rpx);
+ float: left;
+ margin: 40rpx 20rpx 0;
+ font-size: 28rpx;
+}
+
+.profigReport-label-name {
+ color: #999999;
+}
+
+.profigLabel-label-price {
+ margin: 10rpx 0;
+ font-size: 34rpx;
+}
+
+.profigReport-module-subset {
+ position: relative;
+ text-align: center;
+}
+
+.profigReport-module-subset::after {
+ position: absolute;
+ content: '';
+ left: 0;
+ top: 0;
+ width: 100%;
+ height: 0;
+ border-top: 2rpx solid #e4e4e4;
+}
+
+.profigReport-subset-name {
+ text-align: center;
+ margin: 0 auto 40rpx;
+ font-size: 28rpx;
+ background-color: #f1f1f1;
+ padding: 0 30rpx;
+ line-height: 64rpx;
+ display: inline-block;
+ border-radius: 10rpx;
+}
+
+.profigReport-subset-label {
+ text-align: center;
+ width: 50%;
+ float: left;
+ font-size: 28rpx;
+}
+
+/* tab收益订单内容 */
+.profigOrder-list {
+ background-color: white;
+ padding: 30rpx;
+ box-sizing: border-box;
+ border-radius: 10rpx;
+ font-size: 28rpx;
+ margin-bottom: 30rpx;
+}
+
+.profigOrder-no {
+ position: relative;
+ padding-bottom: 20rpx;
+ margin-bottom: 20rpx;
+}
+
+.profigOrder-no::after {
+ position: absolute;
+ content: '';
+ left: 0;
+ width: 100%;
+ height: 0;
+ border-top: 2rpx dotted #e7e7e7;
+ bottom: 0;
+}
+
+.profigOrder-no-name {
+ display: flex;
+ line-height: 44rpx;
+}
+
+.profigOrder-no-name image {
+ width: 32rpx;
+ height: 32rpx;
+ margin-left: 20rpx;
+ margin-top: 6rpx;
+}
+
+.profigOrder-no-text {
+ color: #515151;
+ margin: 20rpx 0;
+}
+
+.profigOrder-label {
+ line-height: 60rpx;
+}
+
+.profigOrder-label-color {
+ color: #ffa30a;
+}
+
+.profigOrder-no-tips {
+ background-color: green;
+ font-size: 22rpx;
+ color: #ffffff;
+ height: 36rpx;
+ line-height: 36rpx;
+ padding: 0 10rpx;
+ border-radius: 30rpx;
+ margin: 5rpx 10rpx 0 0;
+}
+
+.profigOrder-no-tips.active {
+ background-color: #ffa30a;
+}
+
+.profigOrder-module-title {
+ background-color: #ffffff;
+ border-radius: 10rpx;
+ display: flex;
+ box-sizing: border-box;
+ line-height: 80rpx;
+ margin-bottom: 30rpx;
+ padding: 0 30rpx;
+ box-sizing: border-box;
+ font-size: 28rpx;
+}
+
+.profigOrder-module-name {
+ flex: 1;
+}
+
+.profigOrder-module-name text {
+ color: #ffa30a;
+ padding: 0 5rpx;
+}
+
+.profigOrder-module-title .profigReport-module-picker {
+ padding: 0;
+}
+
+.profigOrder-module-title .profigReport-module-icon {
+ margin-top: 30rpx;
+}
+
+/* tab我的团队内容 */
+.profigTeam-module-title {
+ display: flex;
+ margin-bottom: 30rpx;
+}
+
+.profigTeam .profigOrder-module-title {
+ flex: 1;
+ margin: 0 30rpx 0 0;
+}
+
+.profigTeam-ranking {
+ width: 180rpx;
+ height: 80rpx;
+ line-height: 80rpx;
+ position: relative;
+ background-color: #ffffff;
+ padding: 0 20rpx;
+ box-sizing: border-box;
+ border-radius: 10rpx;
+ color: green;
+ font-size: 28rpx;
+}
+
+.profigTeam-ranking::after,
+.profigTeam-ranking::before {
+ position: absolute;
+ right: 20rpx;
+ content: '';
+ width: 0;
+ height: 0;
+ border-left: 8rpx solid transparent;
+ border-right: 8rpx solid transparent;
+}
+
+.profigTeam-ranking::after {
+ bottom: 28rpx;
+ border-top: 8rpx solid grey;
+}
+
+.profigTeam-ranking::before {
+ top: 28rpx;
+ border-bottom: 8rpx solid grey;
+}
+
+.profigTeam-ranking.ascactive::after {
+ border-top: 8rpx solid green;
+}
+
+.profigTeam-ranking.descactive::before {
+ border-bottom: 8rpx solid green;
+}
+
+.profigTeam-list {
+ margin-top: 30rpx;
+}
+
+.profigTeam-nav {
+ background-color: #ffffff;
+ border-radius: 10rpx;
+ display: flex;
+ line-height: 80rpx;
+ margin-bottom: 20rpx;
+}
+
+.profigTeam-name {
+ flex: 4;
+ text-align: center;
+ width: 25%;
+ font-size: 28rpx;
+}
+
+.profigTeam-label {
+ background-color: #ffffff;
+ border-radius: 10rpx;
+ font-size: 26rpx;
+}
+
+.profigTeam-label-list {
+ display: flex;
+ border-bottom: 2rpx solid #e8e8e8;
+}
+
+.profigTeam-label-list:last-child {
+ border: none;
+}
+
+.profigTeam-label-cont {
+ line-height: 110rpx;
+ flex: 4;
+ width: 25%;
+ text-align: center;
+}
+
+.profigTeam-label-head {
+ display: flex;
+}
+
+.profigTeam-label-head image {
+ width: 50rpx;
+ height: 50rpx;
+ border-radius: 50%;
+ margin: 30rpx 20rpx;
+}
+
+.profigTeam-label-name {
+ width: calc(100% - 90rpx);
+}
+
+.profigTeam-label-color {
+ color: #ffa30a;
+}
+
+.public-hint {
+ background-color: #ffffff;
+ border-radius: 10rpx;
+ text-align: center;
+ padding: 60rpx 0;
+ color: #999;
+ font-size: 28rpx;
+}
+
+.public-hint image {
+ width: 160rpx;
+ height: 160rpx;
+ margin: 0 auto 20rpx;
+}
\ No newline at end of file
diff --git a/pages/myProfit_list/myProfit_list.js b/pages/myProfit_list/myProfit_list.js
new file mode 100644
index 0000000..732906b
--- /dev/null
+++ b/pages/myProfit_list/myProfit_list.js
@@ -0,0 +1,61 @@
+/*
+ * 手太欠
+ * 愿这世界都如故事里一样 美好而动人~
+*/
+
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ name : '', //权益名
+ profitData : [], //权益列表
+ page : {}, //下一页
+ lodingStats : false, //加载状态
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad (options) {
+ this.setData({
+ name: options.name
+ })
+
+ // 获取收益列表
+ this.profitInfo();
+ },
+
+ /**
+ * 收益列表
+ */
+ profitInfo(page) {
+ wx.$api.user.profitLogs(this.data.name, page).then(res=>{
+ let listArr = this.data.publicData,
+ newData = []
+ if(page == 1 || page == undefined) listArr = []
+ newData = listArr.concat(res.data.data)
+ this.setData({
+ publicData : newData,
+ page : res.data.page,
+ lodingStats : false
+ })
+ wx.stopPullDownRefresh()
+ }).catch(err=>{})
+ },
+
+ /**
+ * 上拉加载
+ */
+ onReachBottom(){
+ this.setData({
+ lodingStats: true
+ })
+ let pageNumber = this.data.page.current
+ if(this.data.page.has_more){
+ pageNumber++
+ this.profitInfo(pageNumber)
+ }
+ }
+})
\ No newline at end of file
diff --git a/pages/myProfit_list/myProfit_list.json b/pages/myProfit_list/myProfit_list.json
new file mode 100644
index 0000000..2c9678a
--- /dev/null
+++ b/pages/myProfit_list/myProfit_list.json
@@ -0,0 +1,4 @@
+{
+ "usingComponents": {},
+ "navigationBarTitleText": "权益列表"
+}
\ No newline at end of file
diff --git a/pages/myProfit_list/myProfit_list.wxml b/pages/myProfit_list/myProfit_list.wxml
new file mode 100644
index 0000000..467e169
--- /dev/null
+++ b/pages/myProfit_list/myProfit_list.wxml
@@ -0,0 +1,41 @@
+
+
+
+ {{item.name}}
+ ¥{{item.bonus}}
+
+
+
+ 时间
+ {{item.created_at}}
+
+
+ 状态
+ {{item.order.status}}
+
+
+
+ 收益来源
+
+
+
+ {{item.source.nickname}}
+ {{item.source.username}}
+
+
+
+
+
+
+ 加载中...
+
+
+ 没有更多了~
+
+
+
+
+
+
+ 抱歉,目前暂无记录~
+
\ No newline at end of file
diff --git a/pages/myProfit_list/myProfit_list.wxss b/pages/myProfit_list/myProfit_list.wxss
new file mode 100644
index 0000000..6403513
--- /dev/null
+++ b/pages/myProfit_list/myProfit_list.wxss
@@ -0,0 +1,82 @@
+/* 记录列表 */
+.record-list {
+ background-color: #fff;
+ border-radius: 10rpx;
+ margin: 30rpx;
+}
+
+.record-top {
+ display: flex;
+ padding: 30rpx;
+ box-sizing: border-box;
+}
+
+.record-way {
+ flex: 1;
+}
+
+.record-take {
+ font-weight: 600;
+}
+
+.record-cont {
+ padding: 0 30rpx;
+ box-sizing: border-box;
+ color: #999;
+ font-size: 28rpx;
+}
+
+.record-label {
+ display: flex;
+ line-height: 70rpx;
+}
+
+.record-label-name {
+ flex: 1;
+}
+
+.record-label-status {
+ color: red;
+}
+
+.record-source {
+ border-top: 10rpx solid #f7f7f7;
+ margin-top: 20rpx;
+}
+
+.record-source-name {
+ background: #f7f7f7;
+ color: #000;
+ width: 140rpx;
+ text-align: center;
+ line-height: 60rpx;
+ margin: 0 auto;
+ font-size: 28rpx;
+}
+
+.record-source-cont {
+ position: relative;
+ padding: 40rpx 30rpx 20rpx;
+ box-sizing: border-box;
+}
+
+.record-source-img {
+ width: 70rpx;
+ height: 70rpx;
+ border-radius: 50%;
+}
+
+.record-source-info {
+ position: absolute;
+ left: 0;
+ top: 0;
+ width: 100%;
+ padding: 40rpx 30rpx 20rpx 120rpx;
+ box-sizing: border-box;
+ line-height: 70rpx;
+ display: flex;
+}
+
+.record-source-nickname {
+ flex: 1;
+}
\ No newline at end of file
diff --git a/pages/order/order.js b/pages/order/order.js
index dbfaf24..2508661 100644
--- a/pages/order/order.js
+++ b/pages/order/order.js
@@ -55,7 +55,7 @@ Page({
lodingStats : false
})
wx.stopPullDownRefresh()
- })
+ }).catch(err => {});
},
/**
@@ -98,7 +98,7 @@ Page({
title: res.data,
icon : 'none'
})
- })
+ }) .catch(err => {});
} else if (res.cancel) {
wx.showToast({
title : '取消',
@@ -148,7 +148,7 @@ Page({
this.orderInfo();
}
})
- })
+ }).catch(err => {});
}
// payTips为2的时候为沃钱包支付
if(this.data.pay.payTips == 2) {
@@ -163,7 +163,7 @@ Page({
this.setData({
['pay.payState']: false
})
- })
+ }).catch(err => {});
},
diff --git a/pages/order/order.wxml b/pages/order/order.wxml
index e72905d..3eba6ab 100644
--- a/pages/order/order.wxml
+++ b/pages/order/order.wxml
@@ -95,13 +95,13 @@
-
+
\ No newline at end of file
diff --git a/pages/orderData/orderData.js b/pages/orderData/orderData.js
index 858d7fe..dbd912e 100644
--- a/pages/orderData/orderData.js
+++ b/pages/orderData/orderData.js
@@ -41,7 +41,7 @@ Page({
this.setData({
order : res.data
})
- })
+ }).catch(err => {});
},
/**
@@ -81,7 +81,7 @@ Page({
title: res.data,
icon : 'none'
})
- })
+ }).catch(err => {});
} else if (res.cancel) {
wx.showToast({
title : '取消',
@@ -132,7 +132,7 @@ Page({
this.orderInfo();
}
})
- })
+ }).catch(err => {});
}
// payTips为2的时候为沃钱包支付
if(this.data.pay.payTips == 2) {
diff --git a/pages/packet/packet.js b/pages/packet/packet.js
index 528c03e..2d9d21c 100644
--- a/pages/packet/packet.js
+++ b/pages/packet/packet.js
@@ -86,7 +86,7 @@ Page({
})
}
}, 1000)
- })
+ }).catch(err => {});
}
},
@@ -123,7 +123,7 @@ Page({
})
}
}, 1000)
- })
+ }).catch(err => {});
},
/**
diff --git a/pages/password/password.js b/pages/password/password.js
index f21690a..e630ba2 100644
--- a/pages/password/password.js
+++ b/pages/password/password.js
@@ -67,6 +67,6 @@ Page({
url: '/pages/user/user'
})
},2000)
- })
+ }).catch(err => {});
}
})
\ No newline at end of file
diff --git a/pages/password_forget/password_forget.wxml b/pages/password_forget/password_forget.wxml
index c9cc889..36e406e 100644
--- a/pages/password_forget/password_forget.wxml
+++ b/pages/password_forget/password_forget.wxml
@@ -2,7 +2,7 @@
\ No newline at end of file
diff --git a/pages/withdrawal_form/withdrawal_form.wxss b/pages/withdrawal_form/withdrawal_form.wxss
index 46f2a7d..2a9f1ba 100644
--- a/pages/withdrawal_form/withdrawal_form.wxss
+++ b/pages/withdrawal_form/withdrawal_form.wxss
@@ -51,4 +51,22 @@
padding: 0;
margin-top: 40rpx;
font-size: 32rpx;
+}
+
+.withdrawalForm-url {
+ text-align: center;
+ width: 100%;
+ margin-top: 20rpx;
+ position: relative;
+ color: #ff6d6d;
+}
+
+.withdrawalForm-url::after {
+ position: absolute;
+ content: '';
+ left: calc(50% - 60rpx);
+ bottom: 0rpx;
+ width: 120rpx;
+ height: 4rpx;
+ background-color: #ff6d6d;
}
\ No newline at end of file
diff --git a/pages/withdrawal_record/withdrawal_record.js b/pages/withdrawal_record/withdrawal_record.js
index 56b57fd..77d8d4d 100644
--- a/pages/withdrawal_record/withdrawal_record.js
+++ b/pages/withdrawal_record/withdrawal_record.js
@@ -9,13 +9,23 @@ Page({
accounts : [], //列表
page : {}, //分页信息
lodingStats : false, //加载状态
+ WithdrawalWay : [
+ {value: '', name: "全部", status: ''},
+ {value: 0, name: "提现中", status: 'init'},
+ {value: 1, name: "已提现", status: 'end'}
+ ],
+ WithdrawalIndex : 0, //收益订单筛选列表index
+ WithdrawalValue : 'init', //收益订单筛选列表value
},
/**
* 生命周期函数--监听页面加载
*/
onLoad (options) {
-
+ this.setData({
+ WithdrawalValue: options.status,
+ WithdrawalIndex: parseInt(options.idx)
+ })
},
/**
@@ -30,7 +40,7 @@ Page({
* 提现列表
*/
recordInfo(page) {
- wx.$api.user.withdrawsList(page).then(res=>{
+ wx.$api.user.withdrawsList(this.data.WithdrawalValue, page).then(res=>{
let listArr = this.data.accounts,
newData = []
if(page == 1 || page == undefined) listArr = []
@@ -40,7 +50,19 @@ Page({
accounts : newData,
page : res.data.page
})
- })
+ }).catch(err => {});
+ },
+
+ /**
+ * 团队类型选择
+ */
+ screenWithdrawal(val) {
+ this.setData({
+ WithdrawalIndex: val.detail.value,
+ WithdrawalValue: this.data.WithdrawalWay[val.detail.value].status
+ })
+ // 获取提现列表
+ this.recordInfo();
},
/**
diff --git a/pages/withdrawal_record/withdrawal_record.wxml b/pages/withdrawal_record/withdrawal_record.wxml
index 9f84dfc..eacfa42 100644
--- a/pages/withdrawal_record/withdrawal_record.wxml
+++ b/pages/withdrawal_record/withdrawal_record.wxml
@@ -1,4 +1,16 @@
-
+
+
+ 提现列表
+
+
+
+ {{WithdrawalWay[WithdrawalIndex].name}}
+
+
+
+
+
+
{{item.way}}
@@ -11,8 +23,8 @@
提现状态
- {{item.status.status_text}}
- {{item.status.status_text}}
+
+ {{item.status.status_text}}
@@ -24,7 +36,7 @@
没有更多了~
-
+
diff --git a/pages/withdrawal_record/withdrawal_record.wxss b/pages/withdrawal_record/withdrawal_record.wxss
index cfc834a..88a64a2 100644
--- a/pages/withdrawal_record/withdrawal_record.wxss
+++ b/pages/withdrawal_record/withdrawal_record.wxss
@@ -1,3 +1,4 @@
+
/* 记录列表 */
.record-list {
background-color: #fff;
@@ -38,6 +39,44 @@
color: red;
}
-.record-label-green {
+.record-label-status.record-label-green {
color: green;
+}
+
+.profigOrder-module-title {
+ position: fixed;
+ width: 100%;
+ left: 0;
+ top: 0;
+ z-index: 9;
+ background-color: #ffffff;
+ display: flex;
+ box-sizing: border-box;
+ height: 80rpx;
+ line-height: 80rpx;
+ margin-bottom: 30rpx;
+ padding: 0 30rpx;
+ box-sizing: border-box;
+}
+
+.profigOrder-module-name {
+ font-weight: 600;
+ flex: 1;
+}
+
+.profigReport-module-picker {
+ display: flex;
+ color: #797979;
+ font-size: 28rpx;
+ padding-top: 4rpx;
+}
+
+.profigReport-module-icon {
+ width: 28rpx;
+ height: 28rpx;
+ margin: 26rpx 0 0 10rpx;
+}
+
+.recordCont {
+ margin-top: 110rpx;
}
\ No newline at end of file
diff --git a/project.config.json b/project.config.json
index cebbe7c..50426b9 100644
--- a/project.config.json
+++ b/project.config.json
@@ -31,15 +31,14 @@
},
"enableEngineNative": false,
"useIsolateContext": true,
- "useCompilerModule": true,
- "userConfirmedUseCompilerModuleSwitch": false,
"userConfirmedBundleSwitch": false,
"packNpmManually": false,
"packNpmRelationList": [],
- "minifyWXSS": true
+ "minifyWXSS": true,
+ "showES6CompileOption": false
},
"compileType": "miniprogram",
- "libVersion": "2.12.1",
+ "libVersion": "2.18.1",
"appid": "wx8e424dbdc443381f",
"projectname": "%E4%BA%BF%E6%97%B6%E4%BB%A3%EF%BC%88%E6%B5%8B%E8%AF%95%EF%BC%89",
"debugOptions": {
diff --git a/project.private.config.json b/project.private.config.json
index 2582961..d6ecb76 100644
--- a/project.private.config.json
+++ b/project.private.config.json
@@ -55,6 +55,18 @@
"pathName": "pages/password_forget/password_forget",
"query": "",
"scene": null
+ },
+ {
+ "name": "pages/userStored/userStored",
+ "pathName": "pages/userStored/userStored",
+ "query": "",
+ "scene": null
+ },
+ {
+ "name": "pages/userGoods/userGoods",
+ "pathName": "pages/userGoods/userGoods",
+ "query": "",
+ "scene": null
}
]
}
diff --git a/static/img/Account_icon.png b/static/img/Account_icon.png
index a639f7429d92eacadda2e7a7a438f2b9cdc9f6f3..010c79b3e88d9f100283abbd9001070a5cb80f5e 100644
GIT binary patch
delta 3683
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
Hu0mjf3c$Cn
diff --git a/static/img/Account_icon_tips.png b/static/img/Account_icon_tips.png
index 72d15e11952eaf212c25fbea6d59427e7ac91f44..8ca83a1e2ec38389dfe51e390569bd856002c830 100644
GIT binary patch
delta 1540
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
A^Z)<=
literal 8623
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
Shadih!pOix|GBQio&N(OMAX*+
diff --git a/static/img/balance-icon-00.png b/static/img/balance-icon-00.png
index 527e590bb2304097fdaeb7e20ec888854ac1e06c..8fa7345918559b667df3519db256d239a3c22a17 100644
GIT binary patch
delta 1114
zcmV-g1f~1mi2>sXkQsji0000F&0~N7007=lOjJbx0002!d;sWq0O@`J=W_t*dhY)C
z0O)t#{qFGp`T*u}0P24L>UaR=bpYvt;r{Ue>W1Y0@c`?LSM;~c`{w}enE>yce)q+=
z``!TOZo>WJ0Pv$h@~>z0x@z^hboRij`q*)UX0PL0k?UjE3?2riZt1R)VJ@Kqc
z^Rkfm%a-`hqWRV9{qq3kaRB9T0OoT5=W_r5{{ZK10OfQ5=y(9=eE{Zm{r~;|<8uJ$
zb7=Ox0O@(({q6wlkMjQb=>GB9{_L;$+LQRrLG-b{{NTO&-&pmyQ1rGn@~(G({Bi&Q
z04{V=PE!E!@$rB0@dWV{0`c+j@$nJy4e^>L@$qvx@h|bPi-&zj9}4mD@#)32r(#@C
z20-163jhEE21!IgR9M69mS=O~Fc602hJu4JkmP#r^2B^BF~Df&nO$}9pMQk6H{M@YaqC7*kFKY>Ps)zvNtr$D`lhd9%{5?jcFX>Yk}#OP6Mc>{XaI~0%rd#1tR)9Cy=3Kwv{1>h^(XxgT+@sP)@65hB-6P!ze2N4G($tdy!M)e)aN
zZcZ{QSTcWG@DJvM%YP$An7
z&Y8CaR}%#@S3*qGE(TAO!BV;s1~m$TFLs_ISJHn#7Wl%3_Ina#X}&xG13d}xxt}~~
z67Ng8YRDTPS|izNU};@BSD^ZNY$Z{Q+K_T!kn)yj5GyMp2WweIzLM@tBNrxSe+k)Y
zU{nv=7yC+xpb^U?a8G#Iy}*4RNm&%UB;a#VEQ&9NTp}OIe6d)<
z;J9e{wOc0hVo_=?i^ZameAGK;Qm7iGRkV_t9lSC*v6(>Eww#4+Ukw~0KS@!N(e$~n
ze5o`p(X?dfv5$n>DJJmo>8GC+T?Te{410fNV&~;Mp`z}ELKoOyjYq{^nan@fcVi^O
zFikVNnMWOo48lZ~^O=vt@L9fj16q6}tnE>7IJn+XpxaX^lW`npO}j+K*~C|(x|_ZN
z+92vs=)DRE+rsuUUXdi&-a_O^LhRyjC3Jm>EoYZ8p;d_l?NE?&p$9vZ)0>?M7~4`q
z&sQW5QfO-2%<2l76xz^=;+tZHvF@I*wRbh7Ct{VylUNy}Kwbh1D4q46{`Zf@QQ$`t
gw}13d{O9lBH*tBedzH@I0ssI207*qoM6N<$f}BAw=Kufz
literal 17631
zcmeI4XH-*J*T*lQND+;rQdBfXM4d6DKmrM&NvIMt=<0|d3_LeVI!J|CurjEnmB?cmO!N9DO3UpJ^sSz
z%R#?re6}0ahHg4O9AxQXJcL4DDh?MI7^o4bslnsB;|LTA1&1f%h(s*Z11kvT3YkGz
zu3*iW$b=3Z6tMUlUm=IbMT>NqdwBjrJq$)P(Bx};UOv8)191i8>>!G`Af_*lpn=ED
z62xF2hxz!-7%33ifKxM@aX^7xurG+S0R=pNJ`04pubJr*1VWPlXiDRV{(+E50LT^2
zD8*(?>iGKey+=W_Svb%e^npSI5Cy`FbMf`y33&n!-Yfto-Lqm8a@=NNA@a-`1_p6v
z2@`q7!bbPh*izG=jZ8J>gG?chZ^z?#>yK?$>xrvJ8yln7J8-ycUZ7wD4F~T%wP&V;
zKsr+h>J#xq0v4~0C6Mh1Br1tWCF%Tt*P-I^(?rI4!Za8>HpeY^CJho5PnfPTttVUq
z%0V_$$oxkt)BAp{!(dP?xB?-Q%K|Ov`q11pI2<;WNY-NS(ISIbB7w}tGPSkbuuKwO
z3roP0DOzM59UZndYjl!dhkqkY=dt`nduUvm4N23bW&UjT}-Mh`QQHk0*Wd=HG~9hLL#ROuvB
zBA!Iinf-dc37xtgNSrq2X3sFwF=fhsQl1t%r96pYYO1g;4WZx4=Rg&m={=2=Xa)Z_
zm}iifb`g*oG>kb%0HsdwwDCpr7S&Z-(C_Qk35Pf5A1=(~@<7#$%4CTuw!VM~EiMf=
zTHz+zrY>qMLNw4=hZ)wCNo0}PL^myH=TbDWOo|o>tK+7niPfP{@c2DsBHoRtHK9K(
zeD*N{JwPrz-LgC$U5UOaL0^+PO}A0bBqU$ZG~xP-qG|P
zYlTkK&|w}od7A$w^C!#cfAh!GjQ*RdFfH*QFd)dL7#A`hm{*Jo1_ap@<3i>G^NMl7
zfFPS3$%qzwP1A=UdaUt`8dBwP3K#)x_E@VD1uNW5$2(l^0h0F)$72|>dK{my>
zkomy8Vq7pF$fg(%j0*+?*%aeK<^%JJalwEfn_^tZd|+NNE*KDG6A_o()bp_*
z7kVf*5PJGmscEef^yDm>Wp2X&fW2!0AnYIj42(eEe*%C%9st^10f71o04VX|c2}4}
z59OjP=tg!yPdigXz0>SfstoEVJYHemkI%Xz?qbpG@8++Ljf&iIh@yBm@~jMfTVzyu
zxMsOwDZSSWFp57sX9P$#7$yvtnkS^==bEbAn`1Tqz?@Cec}K!ic5ZIXzfttLxF>k%
zP3qt|=f^MluKcCAFHXCt@N-cQrEOnv-N%r+kEy!b>=Sq7C9jo91e_$Ex0Qk(M}b-6|R
zVW7*eFKDk04rC6K^{?Gfh}VwD?qxDDWmcVWOFSgn44wJLpC73%Kg(#v=QgiDYIA*@
z`=Rg6l~cZt>>nP%_6yZW;^A&*|A)oCpW2t8eV`|wb18SS@L3>Hnn
z$M(o{j64Y9@cr5bN(Sw#9%ZY47JTgAofB_-V`0~dz3k&YzK&t6bpw;qssH6o3{kfEs==noIk#~xJNhDRLrM0;XE-DP@DP&ZI
z0ya(el>HSgeqvLSs}G|J7BgtpgD(Or`&>dhdhfQXFPFkr?*C5OTxzl8pjAW4#U1zs
zzXj(fsIX5ky4v*XpZPUpN_WS5C}RN)jf?r1s`Dn3as&
zTHtW@Z`9#6-KrSULucUNk~LwZ>u(>Y3`ntJ8aQjqciKjm=&$0xtX#c|(6@SHQhj4P
zXBX$~dfQ-}eobzCh9h4#)>5@u+1cONLCP`@6@MbcD#EiryGh!N=Vz-NCjYcTdHsdz
zPKMi^%#4~tAAVP|U+`$I-kMXZGxEy1MjA>TtZsuE+Ho~}1m%ucpisjD92^s@vy&tq$Iu%|P*;ANPy
z?bX!1R{r$c~)4NwZOV1R)CmU^PvQs@JnJoKkNUQVG@?&^#
zdkX87UE8xi!SvXLQDlI1JxgPGz|(xo`L;>&POgU6FPt>Dad?v?Yz#Of@ua(j9{%Jn
zb=!{qT}${kJ~b5Tf3_>^S>_XPgiVUAUH4|VdRI0IA
zqlea}C30oeHYQ!cJJ+w7`EO^+IZfsv>>y0
zMNze_tDJwpq8e1z85tLi$inuH3<g}3)}7P-Td7TTh>3E=?r%JF
zTV^%(rDtM86QTG+S#nMBhR(1wc{5$LhBpC1(n53=%Aa`ii|MTkjN#NiA6n?mK&6WP
z=`S6&hh2Jk--5qC4zqe?Lc95DYMr`l6;?}1&2$akIjXqhi<_j{?*{y;hpnGZoLcNX
zxbx%lw@`)lw2aJkCGLG^p0d71XBD?Inrjm)01
z5--G;IR+hx%&u{l&5Zn)VM2dsM6TOgP1emA#p`wt67DAuvilcFZCiNjOUg03k=6zA
z8{8|MP4WlhBP(lzvG(g6wqI_~%E_GDa)jOV4*K{BevkC*-
z7cTbKm`~_I1tgsC#Ok)ARBZ8T*(okRRkFWdYNV}XxI?jOTSP%W%DoMU^vTI+R@|2o
z;z?{z)k8ni)%VrTigJ%iQO@_&jk8|4tKKV)vz4@6^35?uapBOfDemRIS*^AA%61;9
z4{tuL*=D}jM)s}QoR-Z@;9rA)MIvhGfLK=Aac{D3OjpNZa9IW
z=cw0r!u98^E<3OO_@nc7^7EfjIS&l3vDzG4$&Ck@Z|tv}cX$|j|J4r%RJ;^4FU>7H
z(y?=E5v%HhfO~Op+vX8nx~h8aoO?Dq#||EUJQ~&pJbu~y`i@S{GSOdPMC7Mw97Po99=j_T26N;pqH0j_o#%>^6|>|Ns9u
zknTB;?*IP({{R0wj_dya{Wp*AJC5!D|NS_T?lh3?H;?K#knn#!kM95f{5*~DHIVBz
zj_Ws#>^hC?G?4H-jqT_0{Wy>EOq}mEk?u5+>ot$*`~Uyb>Hf9X`E;@MX{_{ZuJdH9
z@;{UD{QUp*`v36u{_OVt>GS>M@BQ2C{khupU#0O@qVQXy??IUEIg{=^lI}p0?KqL^
z(dPZj=KZA4`mcZ0_^Z+QrOf!B%J`MS_l&>xc((R%uJc=?^7#4x^7#JU@BY^3{k7Ho
z^Z5JN>ifdl`HH*wo5}c)zxd1I_ie8Bg1q&8wDe4z^K-KDNtp0FlkYT-?nRaDsnYxH
z_xicp`J&JEXsPv*!}L>`^k=B@gSPQjn(kq#>@bk*Jdl6sXkWLS0000KbW%=J0I#c|
zt*M}qt%ZROv#+bGotqXA)m>$I000BnNklRMB}gY=EzlO%`9Bd%Dw=Ec(wMX6>4#;jCD?V#TJ_Yv)N;q5)k639Ota
zSxkgLWWs+$05AK61Wj4;U-C~&7*RybmRRO!sfbCX97Voil9p8LJt3oH?dyA*Gm@
z8cCwoVGv;1D?9sg_pV(#FT#4DnM5MbE%!!Mf%{r$Q9f48W2%va6y;qB3-WSS2osxW
z#&FcISca7Z(A><)3E^U4_FYUOH0vbsV1W7I-f@4eBcU>ob#kwQ)k6BOF5y8HGvG44rK^oH6?jNRA|m+2gTx
z+b=x>Q3VcM9YpG`)A1{dP64tJ%^k11IW4_x7cxweGl=#H5$^|V3eO`b-WzB3JWV1$
z8rXkHm4WGmGwxl+NTBL_tQaa|@zEn|1&)*SQ{=bCg}VUaie%OCBYghkxd+dQWKLm8
zKIbW-^QF+crxgfLw%3vtsij2HaG-=DjN#EPAaMc}|#dbHY#r_fG8KS_0I?A9ZNeetf4Fh)np1OaR
z)3(U6Bn^~UdVA}{wL{>HU_k(A#)x=ArBsD>lJs%U=y>+WBQBVHadfxQdyYcFQ;?*{
zTljXYor%6cqEhhf(bl2e+U!j-&w)umhcPY6^2#OKYmZ2zkWf=vh<%V9Wy3m=)Q^tc
zG)51-!Le>q^s5X9hqNm%CP4H^ob)BQNmT=W@Ga9
zoDohKvGeBfi6Nt%(7O(1?76SPl5}O43gGT#qs6!rbs!fDb9H|jNh&B0TOIZ}BTA`$
z0ktT#*0p8m&hrZOFck+C`xBxkQ>SztM@&u~YN>3XFC__yPfiGJW_+ePY9N0JJY&Y_
z`k0?0+2(v8Nk@XFFYlj+KRJWsM^&HBZGELpW`$>JS#%U5q*^mpZ)~s1hVH%WuHiMalEHi^FA$yxKGZ@PZGb3XwN()IUN)e%?)t0TY
zBt?t7l~U;-k`^JNREKvasGC?3QS?*T=bUafL1VX1$T|8JG_I4N&Jy@Se
zru$Iz*})+kH3)=V!ww;m0x2x855mwap
zNRfdgG#RqSR20j`a14SeEFzd497JPc*d~x4z8Fr-ErvqCKP0R`6NovtL9mCtBiNG8
zpny^OC_NGkZU8ny>%&oS17o-@7y*MLp)e#Aj?{xAFfcR*jsj1AAf}?62+JV*Vw`b=
z>E<|pnLzwmtPl(o8Xg|5ACA2Wwh*~AbiTptDv4u;N`$z(ZG
zW;;1=CetM%gaUP@FzI0o5``mIo8Jh(mD9WF(f$h~{8kE$HLn$C&i>hGzV^wapE)66
zjG!N&$s{Nxh!V_chsj|8pBF%gKb=Kq`qO{YCm
zQ)xfe)YMdCIZ*8FF*rIYj5{71oGGV3pG+lV@OWdG1rBD8H-wqP;dl!RBNUooU~F!I
zCg2P$VHQ~EFR8ODXxi3>#$*v`B+9fcm19dZAW={xq@f;?h(_u85)IILXd(ioheX3k
zFe4NSZiF_Ru?D37VvVCPs9Pyy0)rm>V-<%G8B7XyMVUZmmekK>KRwhRYZ62KwNE%h
zGz@8gH=G$N8fRckz~Ko9LjoRcghOJXzogFghhvVNswV#maoX94mop%B)_Dd4V5q;&
z+&Tu8b8r!Z{)ZWy#{$rasadwBGFfy+1fYHHxVgv2dP?ZuOJ^#AsQ+?eeohZ(r(=jD
z?!jcrByuK~%NJQcLO_+3FRydJCG56zaHq)tFgX7Fe0k*URYr0cuWO_JLYsT>J8NYWX
z`4ee=6tXFFCUK@w2#>j6;C_2AsO$wU_MU%3Fa03R|5
z<4b1*6IrIzV4@!d8bb5KLT3vB%Aa=tj3qsY&fs*5V#+yb<|_tdanF7XXTx%q5AnxF
zfn%Y+l+D$9a8JabupfFO1dQ{6!nwcGsle*Fsh
zP*X70a~{elriLgK5`~4%EuNd$1R9^@T;GB~VK5Nr
zoi_-CNe6)x=!dr4Bye8p^tQp7yRe`4XT&6Bwz=Ng-cl9ryR|JFo~YbNlUc1AmeE!2
zBGEw2OSDiwZXt*>(@rTUaB;<7cHQ+wOhgWs1`2Rl=sNyoXW{~9^X>ze1s25T>&5-&
zxS_p8K<250!^UCX%ZjV7A_uGch8knqmRPi=VLbv%-My$*$HRR)`m#nc`>=gAiNbDe
z$0+BeE-WY!ZPEt!6%9Y@7^;unG}$hx7yYR&ClYU8+%1qQR{AQ(?VSqa{@e
z+s7|5Ys+Ft+j>`T-d?UfQd4U@{;^Tg!8F=@SIj~p0T-Ll8+DENeyC&3*SBS==rgGi
zudTyfHH9~UdY>&6S-YUIojztJkkeJA)}wPDO(EaSIh7{4*Q)mJ=?fWAc79>ac+vSG6=(%rz_}mZi
zUoLHJeXpIh^>vF@A)(8c>qHRyGzu7U5IkXTu9<>Ye7t|=11o}ky$KA5kKb_&Oa5$F
zNo`E|^Jqok0pU}|%^xdjO_7L?g)LzP@&Qq8yBb%ll%{EB-Zy)ISyv(du41!Eci-5(
z66Siyx8c9g&Rd4CDG3|Gn;GxJu9NmOWPfkRZi&p_k)2J8I#;IqxcqKH;^C%3M7C*>
zU-H$CvLk^|>Z^TTxJ65d`<3ltWsQm5yY=pytho}ma&vEH{3)Tp4;Oz^CVr%7KRss0?RGx1Rm0I}vw_H9o#A%nGPU
zLRY@jT2W{gtluPu&Cq%;<*_!|39gZg*RoR&5s+oIMKp!9@OIbO
zpK3xogjb+I6!>FS$y*uc{4xDaPF==@?QR>6f2tjCQT5EVjt7g$M`?%#pSijaoanx7
zQcR4kC=H1ntc4stOw_Vo;_UlCR65Q+fpy0AoQmeP-dgYi!;8mO}p|-
zC!Z}O#JS%1+PciDar-qFW7fli+Vv658VPr;94bdIn(eu^sdnRSH~F)^evUG>BF@5|
zK8$mD0l0y*hQNw_eV;WTUU^2k3HP;y5d`0Inu&AkR-4~cjz3>W)@|6+VR*NAQD0z7c)XRMV4P(ccrnW+
zUg1zuZAVlh#A%UQp_~#TM@st4O}kFerJ_`&MIJ6CVih9zp{{Ml<*hyXPp@4XPFVef
zF?gV5SeBmNbIw*)#@fEpU3RCJVuRFj3=`b6BrP6Nc6AV+nQO4A6p^ty2iBC_C@#3e
za#iDtk&_>bRgb;>*h0=+R+#znmQK!B@s{Q1`@fYJf9`^;Q^_29;dF+rfsd7uUTPh`
zKuy@)w(fbQ<-w>Z?_C1U7t4z-rnH8mR@4kNCwHD4da0U8YSzr_trLg2UK&>k9bNhH
zew$<*I?Gh0-=wI)a-Gr^bdeeUUdkJnvo*S-IcrZ1J&HDvP&r0}uHThfpq*r42NFBu
zF;o@PU3_%i(0Y1SkMiop7qZKaXwyDTnvpGvNO@1ILK~FZmaVJ7zLHc`8tFab;3Tcq
z;Nd+W4ug30W!C5WNZPsYc`6)XB}%ebpZpl1)*_cgR}R}Y5_kAoA9CdT*FJ^H$pn$b
z>l)4@2V5K8#9zOp*B#!GHr}Q89=-q%8wP8=tPXYQHP$KWC)gGEHs!2L$J@P0*MtwB
zL@I)lvxFynJ0aQagW`umM{nI5&@0_otK7l%>>id7N&WWqCAi10Q+=)H4OQ&5*sG)^
zC=JG7hFzfiny|)uhe?Xh@K%o?(p?CGK+nme&(ny~n{Q6sxL;%0_~mXRGVoBP@B0+h
zE41C&FVc#2&*6kRqI$$7Kd6p05X~hJyVpx!bWIn!`26yDJ8i;}NYuNS#ec*v+9yf~
z2q^bvclM)p`h)6x7I(5~^{XZ(6bJw658a$jzaQ13Soz`WF}EWckd+@cNZitKI$NV1
zu@^RQEwo{ok)%iIt#m-er?L@;2#%qCF|eBI)A6
zVhCKF{pn`%ja55s+fe(Nw_)kGT)y)#KA%4y3BDO%&PzewD7|w%@M1xt$QSxxHUdU|lm*3I#(*
zr^(%_%dtza)aIB`X&PcK>2bbb$Bo{vURJ`+Qu!PofTiCnha^ee-ONBbz
zlVg=Lk`8nr+7&uQH;*^Qi0Bd@JIU<2^h{Xif#mh;Mdj~z3^fdHqrRvcPSkmNWpng!
zvgfwZJ#EZKW75lBBZl(>R%sQPhkVGFt{r-!WIBpm_Vh}JS1ZnEFsI?hH-!-B8Rb&4
zQiXqc_nnNp1|P2lEwNIs8S95+f6x6GSJCWk@JLv8@R}*Jee^w>BE2N5-$T3pUM0&d
zXmi_@6JWFbb_aCp8&!>OHRz-}exOa
ze&gk_C)If+G`9=c%AX##7x!l2;{1CO&Ky`B9y6i7PDO%nus}v7P1@(saxK~F#ib?7
zOIx=h?czmGR6srM4Eb$YbMt8SAiL$W1pC|l70Y}Z%tXGHS3l0feY%5Ouo>f2HJH#<
z8rA2yaqX$zmFVTRkVNUThpJ(Q`Q7{MD%wYT&1F4mH!M|5&G*SRLA)eM+I?w#k-n^4
zeQcvq*Vv{!B<-k~`aq}AYt<~x@82p`WqMp7%g~e)ai`ZHH{>+I>6c=%9ty-ws-6B?
z>$+m6XrsK&mgp-CHum+OS9kkY<&SywOjwB>z;;S&H#;yIb+eDYog6oD?%l6`!Z6Zf
zwPLxKGHB5&;dCW~qqmz{3k;m11hT+i2TsL^jW{}@7%_*sEE+
zpM6juH}x#s*E;t&`+HaXYSSJmWqFajs&^y%;yhQQ<;uK$Tje~en?TofZVR;v=Ps1J
z{&8Fc53$NAkhp+Z^h`$(ee*cdu%J7-p(&y_#j!*EzAT=uT7nwXHAC
zKR9 |