From 0f7c37d5488312295b9d8a84ddde64969db54870 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=94=90=E6=98=8E=E6=98=8E?= <970899069@qq.com> Date: Fri, 25 Aug 2023 14:04:31 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=88=86=E4=BA=AB,=E6=89=BE?= =?UTF-8?q?=E5=9B=9E=E5=AF=86=E7=A0=81,=E5=AE=9E=E5=90=8D=E8=AE=A4?= =?UTF-8?q?=E8=AF=81,=E7=AD=BE=E7=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/index.js | 14 ++- api/interfaces/auth.js | 16 ++- api/interfaces/idcard.js | 45 +++++++ api/interfaces/mall.js | 7 ++ api/interfaces/pay.js | 26 ++++ api/interfaces/user.js | 5 +- api/interfaces/withdraw.js | 23 ++++ api/request.js | 4 +- app.js | 3 +- app.json | 10 +- pages/account/index.js | 94 ++++++++------ pages/account/index.wxml | 55 ++++----- pages/account/index.wxss | 143 ++++----------------- pages/bankCard/bankAdd/bankAdd.js | 3 - pages/bankCard/bankAdd/bankAdd.wxml | 92 +++++++++----- pages/bankCard/bankAdd/bankAdd.wxss | 146 ++-------------------- pages/bankCard/index.wxml | 14 +-- pages/bankCard/index.wxss | 130 ++++--------------- pages/classify/index.wxss | 4 +- pages/face/index.js | 79 +++++------- pages/face/index.json | 3 +- pages/face/index.wxml | 11 +- pages/face/index.wxss | 17 ++- pages/idcard/eSign/eSign.js | 36 ++++++ pages/idcard/eSign/eSign.json | 3 + pages/idcard/eSign/eSign.wxml | 2 + pages/idcard/eSign/eSign.wxss | 1 + pages/idcard/idcard.js | 128 +++++++++++++++++++ pages/idcard/idcard.json | 4 + pages/idcard/idcard.wxml | 76 ++++++++++++ pages/idcard/idcard.wxss | 38 ++++++ pages/idcard/signUrl/signUrl.js | 44 +++++++ pages/idcard/signUrl/signUrl.json | 4 + pages/idcard/signUrl/signUrl.wxml | 2 + pages/idcard/signUrl/signUrl.wxss | 1 + pages/idcard/success/success.js | 35 ++++++ pages/idcard/success/success.json | 4 + pages/idcard/success/success.wxml | 9 ++ pages/idcard/success/success.wxss | 9 ++ pages/login/index.js | 2 + pages/login/index.wxml | 6 +- pages/mall/confirm/confirm.js | 24 ++-- pages/mall/confirm/confirm.wxml | 11 +- pages/mall/confirm/confirm.wxss | 1 + pages/mall/details/details.js | 38 +++++- pages/mall/details/details.wxml | 5 +- pages/mall/details/details.wxss | 4 +- pages/mall/index.js | 85 ++++++++++--- pages/mall/index.wxml | 5 + pages/mall/index.wxss | 14 ++- pages/pay/index.js | 96 +++++++++++++- pages/pay/index.wxml | 47 ++++--- pages/pay/index.wxss | 100 +++------------ pages/pay/success/success.js | 58 +++++++++ pages/pay/success/success.json | 4 + pages/pay/success/success.wxml | 21 ++++ pages/pay/success/success.wxss | 11 ++ pages/register/index.js | 12 +- pages/register/index.json | 2 +- pages/register/index.wxml | 4 +- pages/resetPassword/resetPassword.js | 131 ++++++++++++++++++++ pages/resetPassword/resetPassword.json | 5 + pages/resetPassword/resetPassword.wxml | 35 ++++++ pages/resetPassword/resetPassword.wxss | 158 +++++++++++++++++++++++ pages/search/search.wxss | 14 ++- pages/sign/sign.js | 66 ++++++++++ pages/sign/sign.json | 4 + pages/sign/sign.wxml | 2 + pages/sign/sign.wxss | 1 + pages/site/add/add.js | 29 +++-- pages/site/add/add.wxml | 86 +++++++------ pages/site/add/add.wxss | 88 ++----------- pages/site/edit/edit.js | 33 +++-- pages/site/edit/edit.wxml | 99 +++++++-------- pages/site/edit/edit.wxss | 110 +++-------------- pages/site/index.wxml | 25 ++-- pages/site/index.wxss | 129 +++---------------- pages/user/code/code.js | 9 +- pages/user/code/code.wxml | 27 ++-- pages/user/code/code.wxss | 165 ++++--------------------- pages/user/index.js | 44 +++++-- pages/user/index.wxml | 16 +-- pages/user/index.wxss | 8 +- pages/user/setup/setup.wxss | 2 +- pages/user/team/index.wxss | 1 + pages/withdraw/withdraw.js | 148 ++++++++++++++++++++++ pages/withdraw/withdraw.json | 4 + pages/withdraw/withdraw.wxml | 52 ++++++++ pages/withdraw/withdraw.wxss | 35 ++++++ project.private.config.json | 27 +++- static/icons/add_icon.png | Bin 0 -> 4466 bytes static/icons/fali_icon.png | Bin 0 -> 5622 bytes static/icons/idcard_success.png | Bin 0 -> 8405 bytes static/icons/notice.png | Bin 1985 -> 2179 bytes static/icons/success_icon.png | Bin 0 -> 5308 bytes static/imgs/capsule.png | Bin 0 -> 150582 bytes static/imgs/tool_01.png | Bin 1923 -> 3377 bytes static/imgs/tool_02.png | Bin 2093 -> 2780 bytes static/imgs/tool_03.png | Bin 1744 -> 3355 bytes static/imgs/tool_04.png | Bin 2013 -> 3215 bytes static/imgs/tool_05.png | Bin 2202 -> 2962 bytes static/imgs/tool_06.png | Bin 2277 -> 3113 bytes static/imgs/tool_07.png | Bin 1955 -> 3148 bytes static/imgs/tool_08.png | Bin 1287 -> 2507 bytes static/pay/coin.png | Bin 0 -> 1944 bytes static/pay/wechat.png | Bin 0 -> 2513 bytes 106 files changed, 2130 insertions(+), 1313 deletions(-) create mode 100644 api/interfaces/idcard.js create mode 100644 api/interfaces/pay.js create mode 100644 api/interfaces/withdraw.js create mode 100644 pages/idcard/eSign/eSign.js create mode 100644 pages/idcard/eSign/eSign.json create mode 100644 pages/idcard/eSign/eSign.wxml create mode 100644 pages/idcard/eSign/eSign.wxss create mode 100644 pages/idcard/idcard.js create mode 100644 pages/idcard/idcard.json create mode 100644 pages/idcard/idcard.wxml create mode 100644 pages/idcard/idcard.wxss create mode 100644 pages/idcard/signUrl/signUrl.js create mode 100644 pages/idcard/signUrl/signUrl.json create mode 100644 pages/idcard/signUrl/signUrl.wxml create mode 100644 pages/idcard/signUrl/signUrl.wxss create mode 100644 pages/idcard/success/success.js create mode 100644 pages/idcard/success/success.json create mode 100644 pages/idcard/success/success.wxml create mode 100644 pages/idcard/success/success.wxss create mode 100644 pages/pay/success/success.js create mode 100644 pages/pay/success/success.json create mode 100644 pages/pay/success/success.wxml create mode 100644 pages/pay/success/success.wxss create mode 100644 pages/resetPassword/resetPassword.js create mode 100644 pages/resetPassword/resetPassword.json create mode 100644 pages/resetPassword/resetPassword.wxml create mode 100644 pages/resetPassword/resetPassword.wxss create mode 100644 pages/sign/sign.js create mode 100644 pages/sign/sign.json create mode 100644 pages/sign/sign.wxml create mode 100644 pages/sign/sign.wxss create mode 100644 pages/withdraw/withdraw.js create mode 100644 pages/withdraw/withdraw.json create mode 100644 pages/withdraw/withdraw.wxml create mode 100644 pages/withdraw/withdraw.wxss create mode 100644 static/icons/add_icon.png create mode 100644 static/icons/fali_icon.png create mode 100644 static/icons/idcard_success.png create mode 100644 static/icons/success_icon.png create mode 100644 static/imgs/capsule.png create mode 100644 static/pay/coin.png create mode 100644 static/pay/wechat.png diff --git a/api/index.js b/api/index.js index 1c002a3..9a23d9e 100644 --- a/api/index.js +++ b/api/index.js @@ -24,6 +24,15 @@ import site from "./interfaces/site" // 个人中心 import user from "./interfaces/user" +// 支付收银台 +import pay from "./interfaces/pay" + +// 身份认证 +import idcard from "./interfaces/idcard" + +// 身份认证 +import withdraw from "./interfaces/withdraw" + export default { auth, bank, @@ -31,5 +40,8 @@ export default { mall, order, site, - user + user, + pay, + idcard, + withdraw } \ No newline at end of file diff --git a/api/interfaces/auth.js b/api/interfaces/auth.js index bf93ad1..cc40c2b 100644 --- a/api/interfaces/auth.js +++ b/api/interfaces/auth.js @@ -4,29 +4,37 @@ */ import { req } from "../request" -//登录 +// 登录 const Login = data => req({ url: "user/auth/login", method: "POST", data: data }) -//注册 +// 注册 const register = data => req({ url: "user/auth/register", method: "POST", data: data }) -//获取验证码 +// 获取验证码 const getSms = data => req({ url: "user/auth/verify", method: "POST", data: data }) +// 找回密码 +const resetPassword = data => req({ + url : "user/auth/reset_password", + method : "POST", + data +}) + export default ({ Login, register, - getSms + getSms, + resetPassword }) \ No newline at end of file diff --git a/api/interfaces/idcard.js b/api/interfaces/idcard.js new file mode 100644 index 0000000..31b1925 --- /dev/null +++ b/api/interfaces/idcard.js @@ -0,0 +1,45 @@ + /* + * 手太欠 + * 愿这世界都如故事里一样 美好而动人~ +*/ + +import { req, upload } from "../request" + +// 上传身份证 +const updIdcard = (path, data) => upload({ + key : "upload", + url : "user/certification/upload", + path, + data +}) + +// 提交身份信息 +const ocr = data => req({ + url : "user/certification", + data, + method : "POST" +}) + +// 获取认证信息 +const getInfo = () => req({ + url : "user/certification", +}) + +// 获取认证地址 +const signUrl = data => req({ + url : "user/certification/go_real", + data +}) + +// 获取签约地址 +const pactUrl = () => req({ + url : "user/certification/go_contract" +}) + +export default ({ + updIdcard, + ocr, + getInfo, + signUrl, + pactUrl +}) \ No newline at end of file diff --git a/api/interfaces/mall.js b/api/interfaces/mall.js index 87392be..86275bb 100644 --- a/api/interfaces/mall.js +++ b/api/interfaces/mall.js @@ -10,6 +10,12 @@ const Banner = () => req({ url: "mall/banners" }) +// 身份产品包 + +const idpackage = () => req({ + url: "new/index" +}) + //商品分类 const Categorie = data => req({ url: "mall/categories", @@ -52,6 +58,7 @@ const articlesSee = (article_id) => req({ export default ({ Banner, + idpackage, Categorie, Goods, goodsSee, diff --git a/api/interfaces/pay.js b/api/interfaces/pay.js new file mode 100644 index 0000000..5d8a071 --- /dev/null +++ b/api/interfaces/pay.js @@ -0,0 +1,26 @@ + +import { req } from "../request" + +// 订单信息 +const info = data => req({ + url : "payments/cashier_desk", + data: data +}) + +// 获取支付信息 +const wechatPay = data => req({ + url: "payments/cashier_desk/wechat", + data +}) + +// 查询支付结果 +const payState = trade_id => req({ + url: "payments/cashier_desk/show", + data: { trade_id } +}) + +export default ({ + info, + wechatPay, + payState +}) diff --git a/api/interfaces/user.js b/api/interfaces/user.js index 16e46c7..b6f2608 100644 --- a/api/interfaces/user.js +++ b/api/interfaces/user.js @@ -22,8 +22,9 @@ const setting = (key, data) => req({ }) //我的余额首页 -const account = () => req({ - url: "user/account/index" +const account = data => req({ + url: "user/account/index", + data }) // 小程序码 diff --git a/api/interfaces/withdraw.js b/api/interfaces/withdraw.js new file mode 100644 index 0000000..428cf4f --- /dev/null +++ b/api/interfaces/withdraw.js @@ -0,0 +1,23 @@ +/* + * 手太欠 + * 愿这世界都如故事里一样 美好而动人~ +*/ + +import { req } from "../request" + +// 账户提现前置 +const create = () => req({ + url: "withdraws/index/create", +}) + +// 提现 +const withdraws = data => req({ + url : 'withdraws/index', + method : 'POST', + data +}) + +export default ({ + create, + withdraws +}) \ No newline at end of file diff --git a/api/request.js b/api/request.js index aec6fc9..5d7bbfa 100644 --- a/api/request.js +++ b/api/request.js @@ -3,8 +3,8 @@ * 愿这世界都如故事里一样 美好而动人~ */ -import {errInfo} from './err' -import {updToken} from './updateToken' +import { errInfo } from './err' +import { updToken } from './updateToken' // 请求方式配置 // //正式地址 diff --git a/app.js b/app.js index aca5e80..dc27d8a 100644 --- a/app.js +++ b/app.js @@ -48,6 +48,7 @@ App({ }, globalData: { isUser : false, - barHeight : '' + barHeight : '', + invite : '' } }) \ No newline at end of file diff --git a/app.json b/app.json index 8ac9655..c5eaef4 100644 --- a/app.json +++ b/app.json @@ -24,7 +24,15 @@ "pages/user/team/index", "pages/user/code/code", "pages/bankCard/index", - "pages/bankCard/bankAdd/bankAdd" + "pages/bankCard/bankAdd/bankAdd", + "pages/sign/sign", + "pages/idcard/idcard", + "pages/idcard/signUrl/signUrl", + "pages/idcard/success/success", + "pages/idcard/eSign/eSign", + "pages/withdraw/withdraw", + "pages/pay/success/success", + "pages/resetPassword/resetPassword" ], "window": { "backgroundTextStyle": "light", diff --git a/pages/account/index.js b/pages/account/index.js index 6d125a2..03f2f9e 100644 --- a/pages/account/index.js +++ b/pages/account/index.js @@ -9,23 +9,26 @@ Page({ * 页面的初始数据 */ data: { - logsArr : [], //列表数据 - score : '', //数据 - page : {}, //分页信息 - lodingStats : false, //加载状态 - }, - - /** - * 生命周期函数--监听页面加载 - */ - onLoad(options) { - + account : { + all_in : '0.00', + balance : '0.00', + frozen : '0.00' + }, + logsArr : [], + page : { current: 1 }, + pageLoding : false, + needSign : false }, /** * 生命周期函数--监听页面显示 */ onShow() { + // 页面数据 + this.setData({ + logsArr: [], + page : { current: 1 } + }) // 获取账户信息 this.accountInfo() }, @@ -33,32 +36,20 @@ Page({ /** * 获取账户信息 */ - accountInfo(page) { + accountInfo() { wx.$api.user.account({ - page: page + page: this.data.page.current }).then(res => { - console.log(res.data) - let listArr = this.data.logsArr, - newData = [] - if(page == 1 || page == undefined) listArr = [] - newData = listArr.concat(res.data.logs.data) + let { all_in, balance, frozen, need_sign, logs } = res.data this.setData({ - score : res.data, - logsArr : newData, - page : res.data.logs.page, - lodingStats : false + account : { all_in, balance, frozen }, + needSign : need_sign, + logsArr : logs.page.current == 1 ? logs.data : this.data.logsArr.concat(logs.data), + page : logs.page, + pageLoding : !logs.page.has_more }) wx.stopPullDownRefresh() - - }).catch(err => { }) - }, - - /** - * 页面相关事件处理函数--监听用户下拉动作 - */ - onPullDownRefresh() { - // 获取账户信息 - this.accountInfo(); + }) }, /** @@ -66,13 +57,42 @@ Page({ */ onReachBottom(){ this.setData({ - lodingStats: true + pageLoding: true }) - let pageNumber = this.data.page.current if(this.data.page.has_more){ - pageNumber++ - // 获取账户信息 - this.accountInfo(pageNumber); + let atpage = this.data.page + atpage.current += 1 + this.setData({ + page: atpage + }) + this.accountInfo() } + }, + /** + * 提现 + */ + onWithdraw(){ + console.log(this.data.needSign) + + if(this.data.needSign){ + wx.showModal({ + title : '提示', + content : '您还未完成实名认证与签约成为VIP用户,暂时无法提现', + cancelText : '稍后完成', + confirmText : '立即完善', + confirmColor : '#da2b54', + complete : res => { + if (res.confirm) { + wx.navigateTo({ + url: '/pages/idcard/idcard' + }) + } + } + }) + return + } + wx.navigateTo({ + url: '/pages/withdraw/withdraw' + }) } }) \ No newline at end of file diff --git a/pages/account/index.wxml b/pages/account/index.wxml index 1d97430..36cf304 100644 --- a/pages/account/index.wxml +++ b/pages/account/index.wxml @@ -1,50 +1,37 @@ - 账户余额(元) - - {{score.balance}} + 账户余额(元) + {{account.balance}} - 提现 + 提现 - - - - 待发放(元) - {{score.frozen}} - - - 总收入(元) - {{score.all_in}} - + + + + 待发放(元) + {{account.frozen}} + + + 总收入(元) + {{account.all_in}} + - - 收益明细 - + 收益明细 - - - 当月贡献发放 - - - 2023-05-22 - - - - +100 + + {{item.remark}} + {{item.created_at}} + {{item.amount}} - - - 加载中... - - - 没有更多了~ - + + 加载中... + 没有更多了~ diff --git a/pages/account/index.wxss b/pages/account/index.wxss index d8b7ad7..788e7ca 100644 --- a/pages/account/index.wxss +++ b/pages/account/index.wxss @@ -1,126 +1,27 @@ -page { - background-color: #f6f6f6; -} +page { background-color: #f6f6f6; } -.top { - background-image: linear-gradient(to bottom, #dc3159, #f46284); - color: #ffffff; - padding: 40rpx 40rpx 120rpx; - box-sizing: border-box; - display: flex; -} +/* 账户余额 */ +.top { background-image: linear-gradient(to bottom, #dc3159, #f46284); color: #ffffff; padding: 40rpx 40rpx 120rpx; box-sizing: border-box; display: flex; align-items: center; } +.topSee { width: calc(100% - 180rpx); padding-right: 30rpx; box-sizing: border-box; } +.topSee-name { line-height: 40rpx; font-size: 30rpx; align-items: center; } +.topSee-number { font-size: 64rpx; letter-spacing: 2rpx; font-weight: bold; } +.topBtn { background-color: #ffffff; display: inline-block; color: #da2b54; line-height: 74rpx; border-radius: 37rpx; width: 180rpx; text-align: center; font-weight: bold; font-size: 32rpx; } -.topSee { - flex: 1; -} +/* 账户统计 */ +.tab { background-color: #ffffff; border-radius: 20rpx; padding: 40rpx 30rpx; box-sizing: border-box; display: flex; margin: -70rpx 30rpx 0; } +.tab-item { text-align: center; width: 50%; } +.tab-name{ font-size: 28rpx; color: gray; } +.tab-number { font-size: 34rpx; font-weight: bold; margin-top: 5rpx; } -.topSee-name { - display: flex; - line-height: 40rpx; -} - -.topSee-name image { - width: 34rpx; - margin: 5rpx 20rpx; - filter: grayscale(100%); - -webkit-filter: grayscale(100%); - filter: brightness(0%) invert(100%); - -webkit-filter: brightness(0%) invert(100%); -} - -.topSee-number { - font-size: 60rpx; - margin-top: 20rpx; - letter-spacing: 2rpx; -} - -.topBtn { - background-color: #ffffff; - display: inline-block; - color: #da2b54; - padding: 0 50rpx; - border-radius: 80rpx; - height: 68rpx; - line-height: 68rpx; - margin-top: 40rpx; -} - -.content { - padding: 0 30rpx; - box-sizing: border-box; - margin-top: -70rpx; -} - -.tab { - background-color: #ffffff; - border-radius: 20rpx; - padding: 40rpx 10rpx; - box-sizing: border-box; - display: flex; -} - -.tab-item { - text-align: center; - flex: 2; -} - -.tab-number { - font-size: 44rpx; - margin-top: 20rpx; -} - -.listTitle { - padding: 30rpx 30rpx 0; - font-weight: 600; - box-sizing: border-box; - font-size: 32rpx; -} - -.list { - padding: 30rpx; - box-sizing: border-box; -} - -.list-item { - background-color: #fff; - border-radius: 20rpx; - margin-bottom: 30rpx; - padding: 30rpx; - box-sizing: border-box; - display: flex; -} - -.item-top { - flex: 1; -} - -.item-name { - font-size: 30rpx; -} - -.item-number { - color: #da2b54; - font-weight: 600; - font-size: 38rpx; - line-height: 90rpx; -} - -.item-time { - color: #999999; - font-size: 28rpx; - margin-top: 15rpx; -} +/* 收益明细 */ +.listTitle { padding: 30rpx 30rpx 0; font-weight: 600; box-sizing: border-box; font-size: 30rpx; } +.list { padding: 30rpx; box-sizing: border-box;} +.list-item { background-color: #fff; border-radius: 20rpx; margin-bottom: 20rpx; padding: 30rpx; box-sizing: border-box; display: flex; align-items: center; justify-content: space-between; } +.item-text{ width: calc(100% - 200rpx); } +.item-name { font-size: 30rpx; font-weight: bold; line-height: 40rpx; } +.item-time { font-size: 28rpx; line-height: 40rpx; color: gray; margin-top: 5rpx; } +.item-number { color: #da2b54; font-size: 34rpx; font-weight: bold; width: 200rpx; text-align: right; padding-left: 20rpx; box-sizing: border-box; } /* 暂无数据 */ -.pages-no { - background-color: #fff; - margin-top: 30rpx; - text-align: center; - padding: 120rpx 0; - color: #6d6d6d; - font-size: 28rpx; -} - -.pages-no image { - width: 180rpx; -} \ No newline at end of file +.pages-no { background-color: #fff; margin: 30rpx; border-radius: 20rpx; display: flex; align-items: center; justify-content: center; flex-direction: column; color: #6d6d6d; font-size: 28rpx; height: 55vh; } +.pages-no image { width: 180rpx; height: 180rpx; } \ No newline at end of file diff --git a/pages/bankCard/bankAdd/bankAdd.js b/pages/bankCard/bankAdd/bankAdd.js index 279ba76..cb036dc 100644 --- a/pages/bankCard/bankAdd/bankAdd.js +++ b/pages/bankCard/bankAdd/bankAdd.js @@ -25,12 +25,10 @@ Page({ type : options.type, bankId: options.id }) - if(options.type == 'Compile') { // 获取银行编辑信息 this.bankEdit(); } - }, /** @@ -79,7 +77,6 @@ Page({ */ siteform(val) { let value = val.detail.value - console.log(value) let data = { name : value.name, mobile : value.mobile, diff --git a/pages/bankCard/bankAdd/bankAdd.wxml b/pages/bankCard/bankAdd/bankAdd.wxml index efda8f9..d0635c3 100644 --- a/pages/bankCard/bankAdd/bankAdd.wxml +++ b/pages/bankCard/bankAdd/bankAdd.wxml @@ -1,34 +1,62 @@ -
- - - - - - {{bankArr[bankIndex].name}} - - - - - - - - - - - - - - - - - - - - - - - - -
\ No newline at end of file + +
+ + + + + {{bankArr[bankIndex].name}} + + + + + + + + + + + + + + + + + + + + + + + + +
+
diff --git a/pages/bankCard/bankAdd/bankAdd.wxss b/pages/bankCard/bankAdd/bankAdd.wxss index 612e80e..72955e9 100644 --- a/pages/bankCard/bankAdd/bankAdd.wxss +++ b/pages/bankCard/bankAdd/bankAdd.wxss @@ -1,137 +1,15 @@ -.site-form { - margin: 20rpx; - display: block; - overflow: hidden; -} -.site-btn { - margin: 40rpx 0; -} +.content{ background: #f7f8f9; min-height: 100vh; padding: 30rpx; box-sizing: border-box; } -.site-input { - padding: 0 30rpx 0 280rpx; - position: relative; - line-height: 100rpx; - min-height: 100rpx; -} +/* 绑定银行卡 */ +.form{ background: white; border-radius: 20rpx; padding: 15rpx 0; } +.form-item{ display: flex; justify-content: space-between; padding: 0 30rpx; height: 90rpx; line-height: 90rpx; align-items: center; } +.form-label{ width: 180rpx; font-size: 30rpx; } +.form-intpu{ width: calc(100% - 180rpx); height: 90rpx; line-height: 90rpx; font-size: 30rpx; } +.form-picker{ width: calc(100% - 180rpx); position: relative; } +.form-picker-text{ line-height: 90rpx; height: 90rpx; font-size: 30rpx; } +.form-picker-icon{ width: 48rpx; height: 48rpx; position: absolute; right: 0; top: 50%; margin-top: -24rpx; } -.site-input label { - position: absolute; - left: 30rpx; - top: 0; -} - -.site-input input { - height: 100rpx; -} - -.site-input::before { - position: absolute; - bottom: 0; - left: 30rpx; - right: 0; - height: 1rpx; - content: ""; - background: #e4e6f2; -} - -.site-input:last-child::before { - display: none; -} - -.tui-picker-detail { - width: 33%; -} - -.site-btn button[size="mini"] { - width: 100%; - background: #da2b54; - height: 90rpx; - line-height: 90rpx; - font-size: 30rpx; - color: white; - padding: 0; -} - -.site-btn button[disabled] { - opacity: .6; -} - -/* pickerView */ - -.pickerView-back { - background: rgba(0, 0, 0, .3); - position: fixed; - top: 0; - left: 0; - width: 100%; - height: 100%; - display: none; -} - -.pickerView-back.active { - display: block; -} - -.pickerView-layer { - position: fixed; - bottom: -571rpx; - left: 0; - width: 100%; - background: white; - transition: all .3s; -} - -.pickerView-layer.active { - bottom: 0; -} - -.pickerView-btn { - line-height: 90rpx; - font-size: 30rpx; - padding: 0 30rpx; - display: flex; - justify-content: space-between; -} - -.pickerView { - height: 480rpx; - padding: 0 10rpx; -} - -.pickerView-name { - line-height: 80rpx; - padding: 0 20rpx; - text-align: center; -} - -.pickerView-mask { - border-top: solid 1rpx #e4e6f2; -} - -.pickerView-indicator { - height: 80rpx; -} - -.pickerView-determine { - color: #3ec28e; -} - -.pickerView-cancel { - color: #747788; -} - - -.site-input image { - width: 38rpx; - height: 38rpx; - position: absolute; - right: 20rpx; - top: calc(50% - 19rpx); -} - -.site-switch { - position: absolute; - right: 0; - top: 0; -} \ No newline at end of file +/* 确认添加 */ +.btn{ margin-top: 50rpx; } +.btn button[size="default"]{ background: #da2b54; width: 100%; height: 90rpx; line-height: 90rpx; padding: 0; border-radius: 45rpx; color: white; font-size: 32rpx; } diff --git a/pages/bankCard/index.wxml b/pages/bankCard/index.wxml index 7f2bdcf..0fec3b5 100644 --- a/pages/bankCard/index.wxml +++ b/pages/bankCard/index.wxml @@ -19,13 +19,13 @@
- - 选择地址 - - - 编辑账户 - 删除账户 - + + 选择地址 + + + 编辑账户 + 删除账户 +
diff --git a/pages/bankCard/index.wxss b/pages/bankCard/index.wxss index 14c9638..f7dea75 100644 --- a/pages/bankCard/index.wxss +++ b/pages/bankCard/index.wxss @@ -1,103 +1,19 @@ -page { - background: #f5f5f5; -} +.address { padding: 30rpx 30rpx 180rpx; min-height: 100vh; box-sizing: border-box; background: #f7f8f9; } +.address-li { margin-bottom: 20rpx; background-color: #ffffff; border-radius: 20rpx; } +.top { position: relative; border-bottom: 1rpx solid #ececec; padding: 30rpx; box-sizing: border-box; display: flex; align-items: center; } +.top-logo { width: 68rpx; height: 68rpx; border-radius: 50%; } +.top-name { font-weight: 600; font-size: 32rpx; margin-left: 20rpx; } +.cont { padding: 30rpx; box-sizing: border-box; } +.address-title { display: flex; justify-content: space-between; font-size: 28rpx; line-height: 70rpx; } +.address-title text { width: 200rpx; color: gray; } +.address-tool{ padding: 30rpx; box-sizing: border-box; display: flex; justify-content: flex-end; border-top: 1rpx solid #ececec; } +.address-tool-btn{ background: #e92152; color: white; height: 62rpx; line-height: 60rpx; border-radius: 30rpx; font-size: 28rpx; margin-left: 30rpx; padding: 0 30rpx; border:solid 1rpx #e92152; box-sizing: border-box; } +.address-tool-border{ color: #e92152; background: white; } -.address { - border-bottom: 120rpx solid transparent; - margin: 20rpx; -} +/* .address-tool { padding: 30rpx; box-sizing: border-box; font-size: 28rpx; } +.address-edit { margin-left: 30rpx; background-color: #e92152; border: 2rpx solid #e92152; color: #ffffff; line-height: 60rpx; padding: 0 30rpx; border-radius: 30rpx; font-size: 28rpx; } -.address-li { - margin-bottom: 20rpx; - background-color: #ffffff; - border-radius: 20rpx; -} - -.top { - position: relative; - border-bottom: 2rpx solid #ececec; - padding: 20rpx 20rpx 15rpx; - box-sizing: border-box; -} - -.top-logo { - width: 80rpx; - height: 80rpx; - border-radius: 50%; -} - -.top-name { - position: absolute; - left: 0; - top: 0; - width: 100%; - padding: 20rpx 20rpx 20rpx 120rpx; - box-sizing: border-box; - line-height: 80rpx; - font-weight: 600; - font-size: 32rpx; -} - -.cont { - padding: 30rpx; - box-sizing: border-box; -} - -.address-title { - display: flex; - font-size: 28rpx; - line-height: 80rpx; - background-color: #f9fbfc; - margin-bottom: 30rpx; - padding: 0 30rpx; - box-sizing: border-box; - border-radius: 10rpx; -} - -.address-title text { - display: inline-block; - width: 200rpx; - color: #aaaaaa; -} - -.address-title:last-child { - margin-bottom: 0; -} - -.address-nmae, -.address-tips { - flex: 1; -} - -.address-text { - font-size: 28rpx; - margin: 20rpx 0; -} - -.address-tool { - padding: 30rpx; - box-sizing: border-box; - font-size: 28rpx; - overflow: hidden; - border-top: 2rpx solid #ececec; -} - -.address-edit { - margin-left: 30rpx; - display: inline-block; - background-color: #ff9b26; - border: 2rpx solid #ff9b26; - color: #ffffff; - line-height: 58rpx; - padding: 0 30rpx; - border-radius: 10rpx; - font-size: 28rpx; -} - -.address-edit-border { - color: #ff9b26; - background-color: #ffffff; -} +.address-edit-border { color: #e92152; background-color: #ffffff; } .address-edit image { width: 32rpx; @@ -137,30 +53,30 @@ page { .address-icon { float: right; -} +} */ + +/* 空页面 */ +.pages-hint{ padding-bottom: 180rpx; } /* footer */ - .address-footer { position: fixed; bottom: 0; left: 0; right: 0; - padding-left: 30rpx; - padding-right: 30rpx; background: white; - z-index: 9; - height: 120rpx; + z-index: 99; + padding: 30rpx 30rpx 60rpx; } .address-footer navigator { width: 100%; line-height: 90rpx; height: 90rpx; - margin: 15rpx 0; text-align: center; background: #e92152; - font-size: 30rpx; + font-size: 32rpx; + font-weight: bold; color: white; - border-radius: 10rpx + border-radius: 45rpx } \ No newline at end of file diff --git a/pages/classify/index.wxss b/pages/classify/index.wxss index f04283a..f3edc5d 100644 --- a/pages/classify/index.wxss +++ b/pages/classify/index.wxss @@ -56,7 +56,7 @@ .stair-nav-li.active { background: white; - color: #e92344; + color: #da2b54; font-weight: bold; position: relative; } @@ -67,7 +67,7 @@ left: 0; top: 30rpx; height: 40rpx; - background: #e92344; + background: #da2b54; width: 6rpx; } diff --git a/pages/face/index.js b/pages/face/index.js index a7fe6cd..adc357a 100644 --- a/pages/face/index.js +++ b/pages/face/index.js @@ -1,66 +1,53 @@ -// pages/face/index.js Page({ /** * 页面的初始数据 */ data: { - + goFaceDone : false, + bizToken : '', + redirectUrl : '' }, /** * 生命周期函数--监听页面加载 */ onLoad(options) { - + this.setData({ + bizToken : options.bizToken, + redirectUrl : decodeURIComponent(options.redirectUrl), + }, this.goFaceAuth) }, - /** - * 生命周期函数--监听页面初次渲染完成 + * 生命周期函数--页面再次显示 */ - onReady() { - + onShow(){ + const { goFaceDone, redirectUrl } = this.data + if (!goFaceDone) return + const options = wx.getEnterOptionsSync() + if(options.scene === 1038 && options.referrerInfo.extraData && options.referrerInfo.extraData.faceResult){ + const pages = getCurrentPages() + const pre = pages[pages.length - 2] + if (pre.reloadPage && typeof pre.reloadPage === 'function') { + pre.reloadPage(redirectUrl + `&timeStamp=${new Date().getTime()}`) + wx.navigateBack({ + delta: 1, + }) + } + } }, - /** - * 生命周期函数--监听页面显示 + * 打开E签报小程序 */ - onShow() { - - }, - - /** - * 生命周期函数--监听页面隐藏 - */ - onHide() { - - }, - - /** - * 生命周期函数--监听页面卸载 - */ - onUnload() { - - }, - - /** - * 页面相关事件处理函数--监听用户下拉动作 - */ - onPullDownRefresh() { - - }, - - /** - * 页面上拉触底事件的处理函数 - */ - onReachBottom() { - - }, - - /** - * 用户点击右上角分享 - */ - onShareAppMessage() { - + goFaceAuth(){ + wx.navigateToMiniProgram({ + appId: "wx1cf2708c2de46337", + path : "/pages/face/index?bizToken=" + this.data.bizToken, + success: () => { + this.setData({ + goFaceDone: true + }) + } + }) } }) \ No newline at end of file diff --git a/pages/face/index.json b/pages/face/index.json index 3928faa..f5fc409 100644 --- a/pages/face/index.json +++ b/pages/face/index.json @@ -1,3 +1,4 @@ { - "usingComponents": {} + "usingComponents": {}, + "navigationBarTitleText": "人脸识别" } \ No newline at end of file diff --git a/pages/face/index.wxml b/pages/face/index.wxml index 9b3ca66..871ff3c 100644 --- a/pages/face/index.wxml +++ b/pages/face/index.wxml @@ -1,2 +1,9 @@ - -pages/face/index.wxml + + + + 加载中... + + 如未成功跳转,请手动点击按钮转跳 + + + diff --git a/pages/face/index.wxss b/pages/face/index.wxss index e9ea303..22b9862 100644 --- a/pages/face/index.wxss +++ b/pages/face/index.wxss @@ -1 +1,16 @@ -/* pages/face/index.wxss */ \ No newline at end of file + +.face{ + width: 100vw; + height: 90vh; + display: flex; + align-items: center; + justify-content: center; + flex-direction: column; +} + +.face-icon{ width: 48rpx; height: 48rpx; margin-bottom: 40rpx; } +.face-loding{ color: gray; } + +.btn-content{ margin-top: 150rpx; font-size: 30rpx; color: #333; } + +.btn-content button[size="default"]{ background: #da2b54; height: 90rpx; line-height: 90rpx; color: white; padding: 0; border-radius: 45rpx; width: 400rpx; margin-top: 100rpx; } diff --git a/pages/idcard/eSign/eSign.js b/pages/idcard/eSign/eSign.js new file mode 100644 index 0000000..1c31ed8 --- /dev/null +++ b/pages/idcard/eSign/eSign.js @@ -0,0 +1,36 @@ +Page({ + + /** + * 页面的初始数据 + */ + data: { + sign_url: '' + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad() { + wx.showLoading({ + title: '加载中...', + mask : true + }) + wx.$api.idcard.pactUrl().then(res => { + let { sign_url } = res.data + this.setData({ + sign_url + }) + wx.hideLoading() + }) + }, + /** + * 监听签署结果 + */ + handleGetMessage(e){ + if(e.detail.data[0].result=='success'){ + wx.navigateTo({ + url: '/pages/idcard/success/success?type=idcard', + }) + } + }, +}) \ No newline at end of file diff --git a/pages/idcard/eSign/eSign.json b/pages/idcard/eSign/eSign.json new file mode 100644 index 0000000..3928faa --- /dev/null +++ b/pages/idcard/eSign/eSign.json @@ -0,0 +1,3 @@ +{ + "usingComponents": {} +} \ No newline at end of file diff --git a/pages/idcard/eSign/eSign.wxml b/pages/idcard/eSign/eSign.wxml new file mode 100644 index 0000000..640a4f1 --- /dev/null +++ b/pages/idcard/eSign/eSign.wxml @@ -0,0 +1,2 @@ + + diff --git a/pages/idcard/eSign/eSign.wxss b/pages/idcard/eSign/eSign.wxss new file mode 100644 index 0000000..0c4d322 --- /dev/null +++ b/pages/idcard/eSign/eSign.wxss @@ -0,0 +1 @@ +/* pages/idcard/eSign/eSign.wxss */ \ No newline at end of file diff --git a/pages/idcard/idcard.js b/pages/idcard/idcard.js new file mode 100644 index 0000000..2944101 --- /dev/null +++ b/pages/idcard/idcard.js @@ -0,0 +1,128 @@ + +Page({ + + /** + * 页面的初始数据 + */ + data: { + front : null, + back : null, + procedure : 1, + info : { + name : '', + id_card : '', + created_at : '', + need_sign : '', + }, + isSignContract : false + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow() { + wx.showLoading({ + title: "加载中...", + mask : true + }) + wx.$api.idcard.getInfo().then(res => { + let { data } = res; + wx.hideLoading() + if(data.length == 0){ + this.setData({ + procedure: 1 + }) + return + } + if(data != ''){ + this.setData({ + procedure : data.need_sign ? 2 : 3, + isSignContract : data.is_sign_contract, + info : { + name : data.name, + id_card : data.id_card, + created_at : data.created_at, + verified : data.verified, + need_sign : data.need_sign, + } + }) + } + }) + }, + /** + * 上传身份证 + */ + onUpd(e){ + let { type } = e.currentTarget.dataset + wx.chooseMedia({ + count : 1, + mediaType : ['image'], + success : resPaths => { + let { tempFiles } = resPaths; + this.setData({ + [type]: tempFiles[0].tempFilePath + }) + wx.$api.idcard.updIdcard(tempFiles[0].tempFilePath, { type }).then(res => { + this.setData({ + [type]: res + }) + }) + } + }) + }, + /** + * 提交身份证信息 + */ + onSubmitIdcard(e){ + wx.showLoading({ + title: '提交证件信息...', + mask : true + }) + let { address } = e.detail.value + wx.$api.idcard.ocr({ + front_card: this.data.front.path, + back_card : this.data.back.path, + address + }).then(res => { + let { name, id_card, created_at, verified, need_sign } = res.data + this.setData({ + info : { name, id_card, created_at, verified, need_sign }, + procedure : need_sign ? 2 : 3, + isSignContract : data.is_sign_contract, + }) + wx.hideLoading() + }) + }, + /** + * 获取人脸认证地址 + */ + onGetSignUrl(){ + wx.showLoading({ + title: '获取地址信息...', + mask : true + }) + wx.$api.idcard.signUrl({ + path : '/pages/idcard/idcard', + query : "getSign=1", + version : '' + }).then(res => { + let { url } = res.data; + wx.navigateTo({ + url: "./signUrl/signUrl?url=" + encodeURIComponent(url.authUrl), + }) + wx.hideLoading() + }) + }, + /** + * 开通会员获取签约地址 + */ + onGetOpenVip(){ + if(this.data.isSignContract){ + wx.navigateBack() + return + } + wx.navigateTo({ + url: "./eSign/eSign", + }) + } +}) \ No newline at end of file diff --git a/pages/idcard/idcard.json b/pages/idcard/idcard.json new file mode 100644 index 0000000..5ab196f --- /dev/null +++ b/pages/idcard/idcard.json @@ -0,0 +1,4 @@ +{ + "usingComponents": {}, + "navigationBarTitleText": "实名认证" +} \ No newline at end of file diff --git a/pages/idcard/idcard.wxml b/pages/idcard/idcard.wxml new file mode 100644 index 0000000..cdc7c9c --- /dev/null +++ b/pages/idcard/idcard.wxml @@ -0,0 +1,76 @@ + + + 上传证件 + 确认信息 + 认证完成 + + + + +
+ + + + + 上传身份证正面 + + + + + + + + 上传身份证反面 + + + + + + + + + + + + +
+
+ + + + + + + {{info.name || '-'}} + + + + {{info.id_card || '-'}} + + + + {{info.address || '-'}} + + + + {{info.created_at || '-'}} + + + + + + + + + + + + 认证完成 + {{info.name}}({{info.id_card}}) + 您已完成实名认证 + 点击按钮进行签约开通会员 + + + + + diff --git a/pages/idcard/idcard.wxss b/pages/idcard/idcard.wxss new file mode 100644 index 0000000..b4a00d5 --- /dev/null +++ b/pages/idcard/idcard.wxss @@ -0,0 +1,38 @@ + +/* 身份信息 */ +.schedule{ display: flex; align-items: center; justify-content: space-around; padding: 50rpx 30rpx; } +.schedule-item{ font-size: 28rpx; color: gray; padding-top: 60rpx; position: relative; } +.schedule-item::after{ content: " "; position: absolute; left: 50%; top: 0; width: 40rpx; height: 40rpx; margin-left: -25rpx; background: #ddd; text-align: center; border-radius: 50%; line-height: 40rpx; font-size: 28rpx; border: solid 5rpx #f7f8f9; } +.schedule-item:nth-child(1)::after{ content: "1"; } +.schedule-item:nth-child(2)::after{ content: "2"; } +.schedule-item:nth-child(3)::after{ content: "3"; } + +.schedule-item.show{color: #da2b54;} +.schedule-item.show::after{ background: #da2b54; color: white; border-color: #fbccd7; } + +/* 上传身份证 */ +.upds{ padding: 0 60rpx; } +.upds-item{ background: #f7f8f9; border-radius: 20rpx; margin-top: 20rpx; width: 100%; padding-top:58%; border: dashed 1rpx #ddd; position: relative; overflow: hidden; } +.upds-text{ font-size: 28rpx; color: gray; width: 100%; display: flex; align-items: center; flex-direction: column; justify-content: center; height: 100%; top: 0; left: 0; position: absolute; z-index: 1; } +.upds-icon{ width: 58rpx; height: 58rpx; margin: 20rpx 0; } +.upds-back{ position: absolute; top: 50%; left: 50%; width: 400rpx; height: 185rpx; opacity: .2; margin-left: -200rpx; margin-top: -92rpx; } +.upds-src{ position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 2; } +.idcard-input{ background: #f7f8f9; border-radius: 20rpx; height: 90rpx; margin-top: 20rpx; display: flex; align-items: center; padding: 0 30rpx; box-sizing: border-box; } +.idcard-input input{ width: calc(100% - 140rpx); height: 90rpx; line-height: 90rpx; font-size: 30rpx; box-sizing: border-box; padding-left: 20rpx; } +.idcard-input label{ width: 140rpx; font-size: 30rpx; } + +/* 认证信息 */ +.info-block{ background: #f7f8f9; margin: 0 50rpx; border-radius: 20rpx; padding: 30rpx; } +.info-flex{ display: flex; align-items: flex-start; justify-content: space-between; line-height: 40rpx; padding: 15rpx 0; font-size: 30rpx; } +.info-flex label{ color: gray; } + +/* 认证结果信息 */ +.idcard-success{ margin: 0 50rpx; display: flex; align-items: center; justify-content: center; height: 75vh; flex-direction: column; } +.idcard-icon{ width: 128rpx; margin-bottom: 50rpx; } +.idcard-title{ font-size: 50rpx; font-weight: bold; line-height: 50rpx; } +.idcard-subtitle{ font-size: 30rpx; color: gray; line-height: 40rpx; margin-top: 20rpx; margin-bottom: 100rpx; text-align: center; } +.idcard-info{ margin-top: 20rpx; font-size: 30rpx; } + +/* 下一步 */ +.idcard-btn{ padding: 50rpx 60rpx; width: 100vw; box-sizing: border-box; } +.idcard-btn button[size='default']{ background: #da2b54; width: 100%; height: 90rpx; border-radius: 45rpx; color: white; line-height: 90rpx; padding: 0; font-size: 32rpx; } diff --git a/pages/idcard/signUrl/signUrl.js b/pages/idcard/signUrl/signUrl.js new file mode 100644 index 0000000..76319cb --- /dev/null +++ b/pages/idcard/signUrl/signUrl.js @@ -0,0 +1,44 @@ +Page({ + + /** + * 页面的初始数据 + */ + data: { + url: '' + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad(options) { + console.log(options) + if(!options.url){ + wx.showToast({ + title: '系统错误:未获取到签约地址', + icon : 'none' + }) + return + } + this.setData({ + url: decodeURIComponent(options.url) + }) + }, + /** + * 监听签署结果 + */ + handleGetMessage(e){ + if(e.detail.data[0].result=='success'){ + wx.redirectTo({ + url: '/pages/idcard/success/success?type=sign', + }) + } + }, + /** + * 重新定向url + */ + reloadPage(redirectUrl) { + this.setData({ + url: redirectUrl, + }) + } +}) \ No newline at end of file diff --git a/pages/idcard/signUrl/signUrl.json b/pages/idcard/signUrl/signUrl.json new file mode 100644 index 0000000..68c7c99 --- /dev/null +++ b/pages/idcard/signUrl/signUrl.json @@ -0,0 +1,4 @@ +{ + "usingComponents": {}, + "navigationBarTitleText": "人脸识别认证" +} \ No newline at end of file diff --git a/pages/idcard/signUrl/signUrl.wxml b/pages/idcard/signUrl/signUrl.wxml new file mode 100644 index 0000000..472532d --- /dev/null +++ b/pages/idcard/signUrl/signUrl.wxml @@ -0,0 +1,2 @@ + + diff --git a/pages/idcard/signUrl/signUrl.wxss b/pages/idcard/signUrl/signUrl.wxss new file mode 100644 index 0000000..c06b8f8 --- /dev/null +++ b/pages/idcard/signUrl/signUrl.wxss @@ -0,0 +1 @@ +/* pages/idcard/signUrl/signUrl.wxss */ \ No newline at end of file diff --git a/pages/idcard/success/success.js b/pages/idcard/success/success.js new file mode 100644 index 0000000..48a78f4 --- /dev/null +++ b/pages/idcard/success/success.js @@ -0,0 +1,35 @@ +Page({ + + /** + * 页面的初始数据 + */ + data: { + title: "", + text : "" + }, + + /** + * 生命周期函数--页面加载 + */ + onLoad(e){ + if(e.type == 'sign'){ + this.setData({ + title: "签署完成", + text : "签署完成,恭喜您升级为平台会员" + }) + } + if(e.type == 'idcard'){ + this.setData({ + title: "认证完成", + text : "实名认证已完成" + }) + } + }, + + /** + * 返回 + */ + onBack(){ + wx.navigateBack() + } +}) \ No newline at end of file diff --git a/pages/idcard/success/success.json b/pages/idcard/success/success.json new file mode 100644 index 0000000..619784e --- /dev/null +++ b/pages/idcard/success/success.json @@ -0,0 +1,4 @@ +{ + "usingComponents": {}, + "navigationBarTitleText": "" +} \ No newline at end of file diff --git a/pages/idcard/success/success.wxml b/pages/idcard/success/success.wxml new file mode 100644 index 0000000..988d230 --- /dev/null +++ b/pages/idcard/success/success.wxml @@ -0,0 +1,9 @@ + + + + {{title}} + {{text}} + + + + diff --git a/pages/idcard/success/success.wxss b/pages/idcard/success/success.wxss new file mode 100644 index 0000000..d0d7455 --- /dev/null +++ b/pages/idcard/success/success.wxss @@ -0,0 +1,9 @@ + +.success{ height: 90vh; width: 100%; display: flex; align-items: center; justify-content: center; flex-direction: column; } +.icon{ width: 128rpx; height: 128rpx; margin-bottom: 40rpx; } +.title{ font-size: 50rpx; font-weight: bold; line-height: 50rpx; margin-bottom: 30rpx; color: #333; } +.text{ font-size: 30rpx; color: gray; margin-bottom: 100px; } + +.idcard-btn{ padding: 50rpx 60rpx; width: 100vw; box-sizing: border-box; } +.idcard-btn button[size='default']{ background: #da2b54; width: 100%; height: 90rpx; border-radius: 45rpx; color: white; line-height: 90rpx; padding: 0; font-size: 32rpx; } + diff --git a/pages/login/index.js b/pages/login/index.js index 917b778..aa39580 100644 --- a/pages/login/index.js +++ b/pages/login/index.js @@ -44,6 +44,8 @@ Page({ password : value.password, } wx.$api.auth.Login(data).then(res => { + // 存储邀请码 + // let { invite, } // 存储登录信息 wx.setStorage({ key : 'token', diff --git a/pages/login/index.wxml b/pages/login/index.wxml index 7b66d90..e5f9518 100644 --- a/pages/login/index.wxml +++ b/pages/login/index.wxml @@ -8,11 +8,11 @@
- + - 忘记密码? + 忘记密码? - 暂无账号,立即注册 + 暂无账号,立即注册 diff --git a/pages/mall/confirm/confirm.js b/pages/mall/confirm/confirm.js index 953bc44..460e935 100644 --- a/pages/mall/confirm/confirm.js +++ b/pages/mall/confirm/confirm.js @@ -15,7 +15,8 @@ Page({ address : '', // 地址 addressId : '', // 地址id goodskData : '', // 数据 - amount : '', // 总金额 + amount : '', // 商品总金额 + total : '', // 支付金额 freight : '', // 运费 weight : '', // 重量 }, @@ -46,12 +47,12 @@ Page({ qty: qty, address_id: this.data.addressId }).then(res => { - console.log(res) this.setData({ address : res.data.address, addressId : res.data.address.address_id, goodskData: res.data.detail, amount : res.data.amount, + total : res.data.total, freight : res.data.freight, weight : res.data.weight }) @@ -62,21 +63,20 @@ Page({ * 商品确认下单 */ buyTap() { + wx.showLoading({ + title: '下单中...', + mask : true + }) wx.$api.mall.placeTrue({ - goods_sku_id:this.data.skuId, - qty: this.data.goodsQty, - address_id: this.data.addressId + goods_sku_id : this.data.skuId, + qty : this.data.goodsQty, + address_id : this.data.addressId }).then(res => { - this.setData({ - disabled: true - }) wx.redirectTo({ url: '/pages/pay/index?params=' + encodeURIComponent(JSON.stringify(res.data)) }) - }).catch(err =>{ - this.setData({ - disabled: false - }) + }).catch(() =>{}).finally(() => { + wx.hideLoading() }) }, }) \ No newline at end of file diff --git a/pages/mall/confirm/confirm.wxml b/pages/mall/confirm/confirm.wxml index e0bb028..2ab300f 100644 --- a/pages/mall/confirm/confirm.wxml +++ b/pages/mall/confirm/confirm.wxml @@ -33,6 +33,7 @@
+ @@ -54,13 +55,7 @@ 合计: - {{amount}} + {{total}} - 立即支付 - 立即支付 + 立即支付 - - \ No newline at end of file diff --git a/pages/mall/confirm/confirm.wxss b/pages/mall/confirm/confirm.wxss index 47ba190..5f5d63a 100644 --- a/pages/mall/confirm/confirm.wxss +++ b/pages/mall/confirm/confirm.wxss @@ -53,6 +53,7 @@ page { .address-img { width: 100%; + height: 10rpx; display: block; } diff --git a/pages/mall/details/details.js b/pages/mall/details/details.js index 58b4946..63a330a 100644 --- a/pages/mall/details/details.js +++ b/pages/mall/details/details.js @@ -22,7 +22,8 @@ Page({ valueIndex : '', // 选中规格下标index specselectIndex : '', qtyNumber : 1, // 产品数量 - goodsSize : false + goodsSize : false, + invite : '' }, /** @@ -30,7 +31,8 @@ Page({ */ onLoad(options) { this.setData({ - goodsId: options.id + goodsId: options.id, + invite : options.invite || '' }) }, @@ -46,17 +48,23 @@ Page({ * 商品详情 */ goodsInfo() { + wx.showLoading({ + title: '加载中...', + mask : true + }) wx.$api.mall.goodsSee(this.data.goodsId).then(res => { - console.log(res.data) this.setData({ goodsData : res.data, mallContent : res.data.content.replace(/\{}) + }).catch(err =>{}).finally(() => { + wx.hideLoading() + }) }, /** @@ -245,5 +253,25 @@ Page({ urls : imgs, current : imgs[index] }) + }, + /** + * 分享给朋友 + */ + onShareAppMessage(){ + return{ + title : this.data.goodsData.name, + path : '/pages/mall/details/details?id=' + this.data.goodsId + '&invite=' + this.data.invite, + imageUrl: this.data.goodsData.cover + } + }, + /** + * 分享朋友圈 + */ + onShareTimeline(){ + return{ + title : this.data.goodsData.name, + query : '/pages/mall/details/details?id=' + this.data.goodsId + '&invite=' + this.data.invite, + imageUrl : this.data.goodsData.cover + } } }) \ No newline at end of file diff --git a/pages/mall/details/details.wxml b/pages/mall/details/details.wxml index 6d1ca13..228da44 100644 --- a/pages/mall/details/details.wxml +++ b/pages/mall/details/details.wxml @@ -23,15 +23,14 @@ {{goodsData.original_price}} - {{goodsData.name}} - + diff --git a/pages/mall/details/details.wxss b/pages/mall/details/details.wxss index 35f9df4..9958822 100644 --- a/pages/mall/details/details.wxss +++ b/pages/mall/details/details.wxss @@ -103,7 +103,7 @@ page { font-size: 32rpx; } -.goodsInfo-share { +.goodsInfo-share[size="mini"] { position: absolute; top: 40rpx; right: 30rpx; @@ -111,6 +111,8 @@ page { font-size: 27rpx; line-height: 34rpx; color: #9b9b9b; + padding: 0; + background: transparent; } .goodsInfo-share-image { diff --git a/pages/mall/index.js b/pages/mall/index.js index 8481aa4..3cea25f 100644 --- a/pages/mall/index.js +++ b/pages/mall/index.js @@ -9,19 +9,29 @@ Page({ * 页面的初始数据 */ data: { - scrollLeft : '', // 商品分类 - bannerArr : [], // 轮播信息 - categorieArr: [], // 分类信息 - goodsArr : [], // 商品信息 - articlesArr : [], // 公告列表 - page : {}, // 分页信息 - lodingStats : false,// 加载状态 + scrollLeft : '', // 商品分类 + bannerArr : [], // 轮播信息 + categorieArr : [], // 分类信息 + goodsArr : [], // 商品信息 + articlesArr : [], // 公告列表 + page : {}, // 分页信息 + lodingStats : false,// 加载状态 + buy_sku_id : false,// 身份包产品 + can_buy : false,// 是否可购买 + certification : false,// 是否已认证 }, /** * 生命周期函数--监听页面加载 */ - onLoad(options) {}, + onLoad(options) { + let sceneCode = options.scene || null + if(sceneCode != null ){ + let inviteCode = decodeURIComponent(sceneCode) + let invite = inviteCode.match(new RegExp("(^|&)" + 'invite' + "=([^&]*)(&|$)", "i")); + getApp().globalData.invite = invite[2] || null + } + }, /** * 生命周期函数--监听页面显示 @@ -38,6 +48,23 @@ Page({ // 获取公告列表 this.articlesInfo(); + + // 获取身份包产品 + this.getidpackage() + }, + + /** + * 身份包 + */ + getidpackage(){ + wx.$api.mall.idpackage().then(res => { + let { buy_sku_id, can_buy, certification } = res.data + this.setData({ + buy_sku_id, + can_buy, + certification + }) + }) }, /** @@ -48,8 +75,6 @@ Page({ this.setData({ bannerArr: res.data }) - }).catch(err =>{ - }) }, @@ -61,8 +86,6 @@ Page({ this.setData({ categorieArr: res.data }) - }).catch(err =>{ - }) }, @@ -83,8 +106,6 @@ Page({ lodingStats : false }) wx.stopPullDownRefresh() - }).catch(err =>{ - }) }, @@ -96,8 +117,7 @@ Page({ this.setData({ articlesArr: res.data.data }) - console.log(res) - }).catch(err =>{}) + }) }, /** @@ -117,6 +137,39 @@ Page({ }) }, + /** + * 购买产品包 + */ + onCapsule(){ + if(wx.getStorageSync("token") != ''){ + if(!this.data.certification){ + wx.showModal({ + title : '提示', + content : '您还未完成账号实名认证,暂不可购买', + cancelText : '稍后', + cancelColor : '#333', + confirmText : '去认证', + confirmColor : '#da2b54', + success : res => { + if(res.confirm){ + wx.navigateTo({ + url: '/pages/idcard/idcard', + }) + } + } + }) + return + } + wx.navigateTo({ + url: '/pages/mall/confirm/confirm?qty=1&skuId=' + this.data.buy_sku_id + }) + return + } + wx.navigateTo({ + url: "/pages/login/index" + }) + }, + /** * 页面相关事件处理函数--监听用户下拉动作 */ diff --git a/pages/mall/index.wxml b/pages/mall/index.wxml index 13530d6..6528712 100644 --- a/pages/mall/index.wxml +++ b/pages/mall/index.wxml @@ -40,6 +40,11 @@ + + + + + diff --git a/pages/mall/index.wxss b/pages/mall/index.wxss index 09ecab1..fa5a443 100644 --- a/pages/mall/index.wxss +++ b/pages/mall/index.wxss @@ -3,7 +3,7 @@ page { } .linearBack { - background-image: linear-gradient(to top, #ffffff 60%, #fde8e9); + background-image: linear-gradient(to top, #ffffff 60%, #fbe2e1); padding: 30rpx; box-sizing: border-box; } @@ -99,13 +99,13 @@ page { } .noticeCont-icon { - width: 38rpx; + width: 32rpx; margin-top: 28rpx; } .noticeCont-name { - width: calc(100% - 38rpx); - padding-left: 30rpx; + width: calc(100% - 32rpx); + padding-left: 20rpx; box-sizing: border-box; color: #da2b54; } @@ -310,7 +310,7 @@ page { .goodsItem-price { flex: 1; - color: #ff1122; + color: #da2b54; font-size: 32rpx; font-weight: 600; } @@ -320,6 +320,10 @@ page { color: #999999; } +/* 自选产品包 */ +.capsule{ padding: 0 40rpx 20rpx; } +.capsule-src{ width: 100%; } + /* 暂无列表 */ .goodsList-no { background-color: #ffffff; diff --git a/pages/pay/index.js b/pages/pay/index.js index 0149e69..00763ce 100644 --- a/pages/pay/index.js +++ b/pages/pay/index.js @@ -9,20 +9,104 @@ Page({ * 页面的初始数据 */ data: { - + total : "0.00", + orderNo : "", + modelId : "", + modelType : "", + payType : "", + can : { + coin : 0, + wechat : 0, + }, + loding : false }, /** * 生命周期函数--监听页面加载 */ onLoad(options) { - const params = JSON.parse(decodeURIComponent(options.params)); - console.log(params) + const { order_id, order_type, order_no } = JSON.parse(decodeURIComponent(options.params)) + wx.showLoading({ + title: '加载中...', + mask : true + }) + wx.$api.pay.info({ order_id, order_type }).then(res => { + let { can, total, model_type, model_id } = res.data + this.setData({ + orderNo : order_no, + payType : res.data.default, + modelId : model_id, + modelType : model_type, + total, + can + }) + wx.hideLoading() + }) }, /** - * 生命周期函数--监听页面显示 + * 选择支付方式 */ - onShow() { - + onPayType(e){ + let { value } = e.detail + this.setData({ + payType: value + }) }, + /** + * 立即支付 + */ + onPay(){ + this.setData({ + loding: true + }) + switch (this.data.payType) { + case 'wechat': + this.wechatPay() + break; + case 'coin': + wx.showToast({ + title: '支付方式暂未开放', + icon : 'none' + }) + this.setData({ + loding: false + }) + break; + } + }, + /** + * 微信支付 + */ + wechatPay(){ + wx.login({ + success: wxCode => { + let { code } = wxCode; + wx.$api.pay.wechatPay({ + order_type : this.data.modelType, + order_id : this.data.modelId, + type : "mini", + code : code + }).then(res => { + let { wechat, trade_id } = res.data + let wechatObj = JSON.parse(wechat) + wx.requestPayment({ + nonceStr : wechatObj.nonceStr, + package : wechatObj.package, + paySign : wechatObj.paySign, + timeStamp: wechatObj.timeStamp, + signType : wechatObj.signType, + success : () => { + wx.redirectTo({ + url: './success/success?trade_id=' + trade_id, + }) + } + }) + }).finally(() => { + this.setData({ + loding: false + }) + }) + } + }) + } }) \ No newline at end of file diff --git a/pages/pay/index.wxml b/pages/pay/index.wxml index d873eee..1e7da49 100644 --- a/pages/pay/index.wxml +++ b/pages/pay/index.wxml @@ -1,23 +1,38 @@ - - 支付有效期为10分钟,请尽快支付 - 199.00 - 微信支付 - - - - - 微信支付 - + + + 实付金额 + {{total}} + 订单号{{orderNo}} + + + 选择支付方式 + + + + + + + + + + - - 确认支付 - 确认支付 - - - + 疯狂加载中... \ No newline at end of file diff --git a/pages/pay/index.wxss b/pages/pay/index.wxss index 12efd18..125c70e 100644 --- a/pages/pay/index.wxss +++ b/pages/pay/index.wxss @@ -1,86 +1,22 @@ -page { - background-color: #f4f4f6; -} -.payTop { - text-align: center; - padding: 140rpx 0; -} +.content{ background: white; min-height: 100vh; padding: 0 30rpx; } +.info{ padding:100rpx 50rpx; text-align: center; border-bottom: solid 1rpx #f7f8f9; } +.title{font-weight: bold; line-height: 40rpx;} +.price{ font-weight: bold; font-size: 80rpx; padding: 30rpx 0; line-height: 80rpx; } +.price text{ font-size: 80%; } +.no{ font-size: 28rpx; color: gray; line-height: 40rpx; } -.payTop-price { - font-weight: 600; - font-size: 78rpx; - line-height: 70rpx; - padding: 20rpx 0 0; -} +/* 支付方式 */ +.radio-title{ font-weight: bold; font-size: 30rpx; padding: 30rpx; } +.radio-group{ padding: 0 30rpx; position: relative; } +.radio-flex{ display: flex; align-items: center; justify-content: space-between; padding: 30rpx 0; border-bottom: solid 1rpx #f7f8f9; } +.radio-text{ display: flex; align-items: center; font-size: 30rpx; } +.radio-icon{ width: 58rpx; height: 58rpx; border-radius: 10rpx; margin-right: 30rpx; } +.radio-radio{ transform: scale(.8) } +.radio-lay{ position: absolute; top: 0; left: 0; width: 100%; height: 100%; } -.payTop-price text { - font-size: 36rpx; -} +/* 支付 */ +.pay{ margin-top: 100rpx; } +.pay-btn[size="default"]{ width: 100%; height: 100rpx; line-height: 100rpx; background: #da2b54; color: white; padding: 0; border-radius: 50rpx; font-size: 32rpx; } +.pay-btn[size="default"][disabled]{ opacity: .5; background: #da2b54; color: white;} -.payTop-time, -.payTop-text { - font-size: 28rpx; - color: #666666; -} - -.payWay { - padding: 0 30rpx; - box-sizing: border-box; -} - -.payWay-item { - background-color: #ffffff; - border-radius: 15rpx; - padding: 25rpx 30rpx; - box-sizing: border-box; - display: flex; - line-height: 74rpx; - font-size: 34rpx; - position: relative; -} - -.payWay-img { - width: 74rpx; - height: 74rpx; - margin-right: 20rpx; -} - -.payWay-icon { - width: 42rpx; - height: 42rpx; - position: absolute; - right: 30rpx; - top: 40rpx; -} - - -/* 按钮 */ -.footer { - width: 100%; - height: 100px; - background-color: #f4f4f6; - position: fixed; - left: 0; - bottom: 0; - z-index: 9; - padding: 20px 20px 50rpx; - box-sizing: border-box; -} - -.btn { - line-height: 54px; - background-color: #da2b54; - height: 100%; - text-align: center; - color: #FFFFFF; - border-radius: 10rpx; -} -.btn.active { - background-color: #cacaca; -} - -.grey { - background-color: #f9f9f9; - z-index: 99999; -} \ No newline at end of file diff --git a/pages/pay/success/success.js b/pages/pay/success/success.js new file mode 100644 index 0000000..632eb27 --- /dev/null +++ b/pages/pay/success/success.js @@ -0,0 +1,58 @@ + +var getNum = 0 + +Page({ + /** + * 页面的初始数据 + */ + data: { + loding : true, + success: true + }, + /** + * 生命周期函数--查询支付信息 + */ + onLoad(e){ + if(!e.trade_id){ + wx.showToast({ + title: '参数错误,请联系系统管理员', + icon : 'none' + }) + } + this.getPayState(e.trade_id) + getNum = 0 + }, + /** + * 查询支付结果 + */ + getPayState(trade_id){ + wx.$api.pay.payState(trade_id).then(res => { + console.log(res.data.is_paid) + let { is_paid } = res.data + if(is_paid){ + this.setData({ + success: true, + loding : false + }) + return + } + if(!is_paid && getNum >= 3){ + this.setData({ + success: false, + loding : false + }) + return + } + getNum++ + this.getPayState(trade_id) + }).catch(err => { + console.log(err) + }) + }, + /** + * 返回 + */ + onBack(){ + wx.navigateBack() + } +}) \ No newline at end of file diff --git a/pages/pay/success/success.json b/pages/pay/success/success.json new file mode 100644 index 0000000..c56eedd --- /dev/null +++ b/pages/pay/success/success.json @@ -0,0 +1,4 @@ +{ + "usingComponents": {}, + "navigationBarTitleText": "支付结果" +} \ No newline at end of file diff --git a/pages/pay/success/success.wxml b/pages/pay/success/success.wxml new file mode 100644 index 0000000..46a3fc2 --- /dev/null +++ b/pages/pay/success/success.wxml @@ -0,0 +1,21 @@ + + + + + 查询支付结果中... + + + + + {{success ? '支付成功' : '支付失败'}} + + 订单支付,可在【我的】中查询订单 + 暂未查询到您的订单支付信息 + 如已扣款请稍后前往【我的】查询订单 + + + + + + + diff --git a/pages/pay/success/success.wxss b/pages/pay/success/success.wxss new file mode 100644 index 0000000..d4d68ee --- /dev/null +++ b/pages/pay/success/success.wxss @@ -0,0 +1,11 @@ + +.success{ height: 90vh; width: 100%; display: flex; align-items: center; justify-content: center; flex-direction: column; } + +.loding{ width: 42rpx; height: 42rpx; margin-bottom: 50rpx; } +.icon{ width: 128rpx; height: 128rpx; margin-bottom: 40rpx; } +.title{ font-size: 50rpx; font-weight: bold; line-height: 50rpx; margin-bottom: 30rpx; color: #333; } +.text{ font-size: 30rpx; color: gray; margin-bottom: 100px; text-align: center; line-height: 50rpx; } + +.idcard-btn{ padding: 50rpx 60rpx; width: 100vw; box-sizing: border-box; } +.idcard-btn button[size='default']{ background: #da2b54; width: 100%; height: 90rpx; border-radius: 45rpx; color: white; line-height: 90rpx; padding: 0; font-size: 32rpx; } + diff --git a/pages/register/index.js b/pages/register/index.js index cf0c387..bfa5386 100644 --- a/pages/register/index.js +++ b/pages/register/index.js @@ -21,16 +21,6 @@ Page({ code : "", // 验证码 }, - /** - * 生命周期函数--监听页面加载 - */ - onLoad() {}, - - /** - * 生命周期函数--监听页面显示 - */ - onShow() {}, - /** * 手机号码 */ @@ -127,7 +117,7 @@ Page({ code : value.code, password : value.password, password_confirmation : value.password_confirmation, - parent_id : '' + parent_id : getApp().globalData.invite } wx.$api.auth.register(data).then(res => { // 存储登录信息 diff --git a/pages/register/index.json b/pages/register/index.json index 1d4d7bd..2523d93 100644 --- a/pages/register/index.json +++ b/pages/register/index.json @@ -1,5 +1,5 @@ { "usingComponents": {}, - "navigationBarTitleText": "", + "navigationBarTitleText": "账号注册", "navigationBarBackgroundColor": "#f7f6fa" } \ No newline at end of file diff --git a/pages/register/index.wxml b/pages/register/index.wxml index ee64fd2..52102ba 100644 --- a/pages/register/index.wxml +++ b/pages/register/index.wxml @@ -28,8 +28,8 @@ 注册成功 - 恭喜您成功注册,请登录绚火平台 - 立即登录 + 恭喜您已完成注册,点击按钮返回 + 确定 \ No newline at end of file diff --git a/pages/resetPassword/resetPassword.js b/pages/resetPassword/resetPassword.js new file mode 100644 index 0000000..b86f408 --- /dev/null +++ b/pages/resetPassword/resetPassword.js @@ -0,0 +1,131 @@ +Page({ + + /** + * 页面的初始数据 + */ + data: { + codename : '获取验证码', + smsDisabled : false, // 获取验证码 禁止点击 + seeState : false, // 小眼睛 + againState : false, // 小眼睛-再次输入密码 + passwordState : true, // 小眼睛-显示 + passwordAgain : true, // 小眼睛-显示-再次输入密码 + phone : "", // 手机号 + code : "", // 验证码 + }, + /** + * 手机号码 + */ + bindInput(e) { + this.setData({ + phone: e.detail.value + }) + }, + + /** + * 短信验证码 + */ + bindCode(e) { + this.setData({ + code: e.detail.value + }) + }, + + /** + * 获取短信验证码 + */ + getPhoneCode(e) { + let mobile = this.data.phone + var _this = this + if (mobile == "") { + wx.showToast({ + title : '手机号不能为空', + icon : 'none', + duration : 1000 + }) + return false; + }else{ + wx.$api.auth.getSms({ + mobileNo: mobile + }).then(res=>{ + console.log(res) + _this.setData({ + smsDisabled : true + }) + + wx.showToast({ + title : '发送成功', + icon : 'success', + duration: 2000 + }) + var num = 60; + var timer = setInterval(function () { + num--; + if (num <= 0) { + clearInterval(timer); + _this.setData({ + codename : '重新发送', + smsDisabled : false + }) + + } else { + _this.setData({ + codename : num + "s后重新获取", + smsDisabled : true + }) + } + }, 1000) + }).catch(err=>{}) + } + }, + + /** + * 查看密码 + */ + seeClick() { + this.setData({ + seeState : !this.data.seeState, + passwordState: !this.data.passwordState + }) + }, + + /** + * 查看密码-再次 + */ + seeAgain() { + this.setData({ + againState : !this.data.againState, + passwordAgain : !this.data.passwordAgain + }) + }, + + /** + * 重置密码 + */ + registerForm(e) { + wx.showLoading({ + title: '加载中...', + mask : true + }) + + let value = e.detail.value + let data = { + username : this.data.phone, + code : value.code, + password : value.password, + password_confirmation : value.password_confirmation + } + wx.$api.auth.resetPassword(data).then(res => { + wx.hideLoading() + wx.showModal({ + content : res.data, + showCancel : false, + confirmText : '确定', + confirmColor: '#da2b54', + success : () => { + wx.navigateBack() + } + }) + }).catch(() =>{ }) + } +}) \ No newline at end of file diff --git a/pages/resetPassword/resetPassword.json b/pages/resetPassword/resetPassword.json new file mode 100644 index 0000000..1664770 --- /dev/null +++ b/pages/resetPassword/resetPassword.json @@ -0,0 +1,5 @@ +{ + "usingComponents": {}, + "navigationBarTitleText": "找回密码", + "navigationBarBackgroundColor": "#f7f6fa" +} \ No newline at end of file diff --git a/pages/resetPassword/resetPassword.wxml b/pages/resetPassword/resetPassword.wxml new file mode 100644 index 0000000..0c7f3a0 --- /dev/null +++ b/pages/resetPassword/resetPassword.wxml @@ -0,0 +1,35 @@ + + + + +
+ + + + + + + + + + + + + + + + + +
+ + + + + + + 注册成功 + 恭喜您已完成注册,点击按钮返回 + 确定 + + + \ No newline at end of file diff --git a/pages/resetPassword/resetPassword.wxss b/pages/resetPassword/resetPassword.wxss new file mode 100644 index 0000000..8033194 --- /dev/null +++ b/pages/resetPassword/resetPassword.wxss @@ -0,0 +1,158 @@ +page { + background-color: #f7f6fa; +} + +.loginImg { + width: 100%; +} + +.loginTitle { + width: 100%; + text-align: center; + padding: 0 50rpx; + box-sizing: border-box; + margin-top: -50rpx; +} + +.site-form { + display: block; + padding: 50rpx 50rpx 20rpx; + box-sizing: border-box; +} + +.inputs { + background: #edebf1; + border: none; + position: relative; + margin-bottom: 40rpx; + height: 100rpx; + line-height: 100rpx; + border-radius: 80rpx; + padding: 0 50rpx; + box-sizing: border-box; + display: flex; + position: relative; +} + +.inputs input { + width: 100%; + height: 100rpx; + line-height: 100rpx; + border: none; + font-size: 32rpx; +} + +.inputs-see { + position: absolute; + right: 50rpx; + top: 32rpx; + width: 38rpx; + height: 38rpx; + z-index: 9; +} + +.sms-btn[size='mini'] { + font-weight: normal; + height: 100rpx; + line-height: 100rpx; + position: absolute; + top: 0; + right: 30rpx; + margin: 0; + border-radius: 0; + border-left: solid 1rpx #f2f2f2; + color: #da2b54 !important; + font-size: 32rpx; + background-color: transparent !important; + z-index: 9; +} + +.btn { + background: #da2b54 !important; + width: 100% !important; + color: white !important; + border-radius: 100rpx; + font-size: 32rpx; + line-height: 100rpx; + height: 100rpx; + font-weight: bold; + font-weight: normal; + padding: 0; +} + +.btn::after { + border: none; +} + +.btn[disabled] { + background: #da2b54 !important; +} + +/* 注册成功弹出 */ +/* 弹出 */ +.refertoEject { + position: fixed; + width: 100vw; + height: 100vh; + left: 0; + top: 0; + background-color: rgba(0, 0, 0, .7); + z-index: 1000; + display: none; +} + +.refertoEject.active { + display: block; +} + +.refertoCont { + -webkit-box-orient: vertical; + -webkit-box-pack: center; + position: fixed; + left: 0; + right: 0; + top: 0; + bottom: 0; + z-index: 10000; + padding: 0 15%; + box-sizing: border-box; + text-align: center; + display: none; +} + +.refertoCont.active { + display: -webkit-box; +} + +.refertoWrite { + background-color: white; + border-radius: 20rpx; + overflow: hidden; +} + +.refertoCont-img { + width: 100%; +} + +.refertoCont-name { + padding: 30rpx 0 40rpx; +} + +.refertoCont-title { + color: #da2b54; + font-size: 40rpx; +} + +.refertoCont-text { + padding: 20rpx 0 40rpx; + color: #999999; +} + +.refertoCont-go { + background-color: #da2b54; + display: inline-block; + color: #ffffff; + line-height: 88rpx; + width: 80%; + border-radius: 80rpx; +} \ No newline at end of file diff --git a/pages/search/search.wxss b/pages/search/search.wxss index c16adee..ed31e37 100644 --- a/pages/search/search.wxss +++ b/pages/search/search.wxss @@ -18,6 +18,8 @@ height: 90rpx; line-height: 90rpx; background: #f7f7f7; + border-radius: 45rpx; + overflow: hidden; } .search-input input { @@ -25,16 +27,16 @@ box-sizing: border-box; height: 90rpx; color: #000; - font-size: 28rpx; + font-size: 30rpx; flex: 1; - width: calc(100% - 150rpx); + width: calc(100% - 180rpx); } .search-btn { - font-size: 28rpx; - background: #f1f1f1; - color: #4c4c4c; - width: 150rpx !important; + font-size: 30rpx; + background: #da2b54; + color: white; + width: 180rpx !important; padding: 0 !important; line-height: 90rpx; border-radius: 0; diff --git a/pages/sign/sign.js b/pages/sign/sign.js new file mode 100644 index 0000000..23f2024 --- /dev/null +++ b/pages/sign/sign.js @@ -0,0 +1,66 @@ +// pages/sign/sign.js +Page({ + + /** + * 页面的初始数据 + */ + data: { + + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad(options) { + + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady() { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow() { + + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide() { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload() { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh() { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom() { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage() { + + } +}) \ No newline at end of file diff --git a/pages/sign/sign.json b/pages/sign/sign.json new file mode 100644 index 0000000..b90af49 --- /dev/null +++ b/pages/sign/sign.json @@ -0,0 +1,4 @@ +{ + "usingComponents": {}, + "navigationBarTitleText": "签约" +} \ No newline at end of file diff --git a/pages/sign/sign.wxml b/pages/sign/sign.wxml new file mode 100644 index 0000000..60eb05e --- /dev/null +++ b/pages/sign/sign.wxml @@ -0,0 +1,2 @@ + +pages/sign/sign.wxml diff --git a/pages/sign/sign.wxss b/pages/sign/sign.wxss new file mode 100644 index 0000000..5b1ccef --- /dev/null +++ b/pages/sign/sign.wxss @@ -0,0 +1 @@ +/* pages/sign/sign.wxss */ \ No newline at end of file diff --git a/pages/site/add/add.js b/pages/site/add/add.js index 2b999aa..71daf87 100644 --- a/pages/site/add/add.js +++ b/pages/site/add/add.js @@ -9,10 +9,10 @@ Page({ * 页面的初始数据 */ data: { - nameValue : '', // 姓名 - mobile : '', // 电话 - address : '', // 地址 - isDefault : '', // 默认地址 + nameValue : '', // 姓名 + mobile : '', // 电话 + address : '', // 地址 + isDefault : '', // 默认地址 // 省份选择 areasArr : [], areaId : 0, @@ -28,6 +28,7 @@ Page({ regiId : 0, regiIndex : 0, + // 提交信息 disabled : false }, @@ -55,7 +56,6 @@ Page({ wx.$api.site.create().then(res => { let areas = res.data, areaIndex = this.data.areaIndex - this.setData({ areasArr : areas, areaId : areas[areaIndex].id, @@ -74,8 +74,14 @@ Page({ atcode = area[index].id if (index != this.data.areaIndex) { this.setData({ - areaIndex : index, - areaId : atcode + areaIndex : index, + areaId : atcode, + cityArr : [], + cityId : 0, + cityIndex : 0, + regiArr : [], + regiId : 0, + regiIndex : 0, }) // 获取市级列表 this.citylist(atcode) @@ -91,9 +97,12 @@ Page({ }).then(res=>{ let cityArr = res.data this.setData({ - cityId : cityArr[0].id, - cityIndex : 0, - cityArr : cityArr + cityId : cityArr[0].id, + cityIndex : 0, + cityArr : cityArr, + regiArr : [], + regiId : 0, + regiIndex : 0, }) // 获取区级列表 diff --git a/pages/site/add/add.wxml b/pages/site/add/add.wxml index 7ef256d..b1dc433 100644 --- a/pages/site/add/add.wxml +++ b/pages/site/add/add.wxml @@ -1,44 +1,48 @@ -
- - - - - - - - - - - - - {{ areasArr[areaIndex].name }} + + + + + + - - - - - - - - {{ cityArr[cityIndex].name }} + + + - - - - - - - - {{ regiArr[regiIndex].name }} + + + + + {{ areasArr[areaIndex].name }} + + + + + + + + + {{ cityArr[cityIndex].name }} + + + - - - - - - - - - - -
\ No newline at end of file + + + + + {{ regiArr[regiIndex].name }} + + + + + + + + +
+ + + + +
\ No newline at end of file diff --git a/pages/site/add/add.wxss b/pages/site/add/add.wxss index e6b52c1..58632ec 100644 --- a/pages/site/add/add.wxss +++ b/pages/site/add/add.wxss @@ -1,79 +1,17 @@ -.site-form { - background: white; - display: block; -} -.site-input { - padding: 0 30rpx 0 200rpx; - position: relative; - line-height: 110rpx; - min-height: 110rpx; - border-bottom: 2rpx solid #f3f3f3; -} +.content{ min-height: 100vh; background: #f7f8f9; padding-top: 30rpx; box-sizing: border-box; } -.site-input::before { - position: absolute; - bottom: 0; - left: 30rpx; - right: 0; - height: 1rpx; - content: ""; - background: #e4e6f2; -} +/* 收货地址 */ +.site-form{ background: white; border-radius: 20rpx; margin: 0 30rpx; padding: 20rpx 0; } +.site-input{ display: flex; justify-content: space-between; align-items: center; padding: 0 30rpx;} +.site-input label{ width: 170rpx; font-size: 30rpx; color: #333; line-height: 90rpx; } +.site-input input{ width: calc(100% - 170rpx); font-size: 30rpx; } +.site-input picker{ width: calc(100% - 170rpx); } +.picker{ padding-right: 90rpx; width: 100%; box-sizing: border-box; position: relative; } +.picker-icon{ width: 32rpx; height: 32rpx; position: absolute; right: 0; top: 50%; margin-top: -16rpx; } -.site-input:last-child::before { - display: none; -} +/* 保存地址 */ +.site-btn{ padding: 50rpx 30rpx; } +.site-btn button[size="mini"]{ background: #e92152; height: 90rpx; line-height: 90rpx; width: 100%; border-radius: 45rpx; color: white; font-size: 32rpx; } +.site-btn button[size="mini"][disabled] { background: #e92152; color: #fff; opacity: .5; } -.site-input label { - position: absolute; - left: 30rpx; - top: 0; -} - -.site-input input { - height: 110rpx; -} - -.site-input image { - width: 44rpx; - height: 44rpx; - position: absolute; - right: 20rpx; - top: calc(50% - 22rpx); -} - -.site-btn { - padding: 20rpx 30rpx; - margin-top: 100rpx; -} - -.site-btn button[size="mini"] { - width: 100%; - background: #e92152; - height: 88rpx; - line-height: 88rpx; - font-size: 30rpx; - color: white; - padding: 0; -} - -.site-btn button[disabled] { - background: #e92152 !important; - color: #fff !important; -} - -.site-switch { - font-size: 32rpx; - margin: 30rpx; - display: flex; - line-height: 40rpx; -} - -.site-switch text { - flex: 1; -} - -.site-switch-active { - color: #797979; -} \ No newline at end of file diff --git a/pages/site/edit/edit.js b/pages/site/edit/edit.js index 66880dd..806a10b 100644 --- a/pages/site/edit/edit.js +++ b/pages/site/edit/edit.js @@ -11,17 +11,14 @@ Page({ address : '', isDefault : '', disabled : false, - //省份选择 areas : [], areaId : '', areaIndex : 0, - //市级选择 cityList : [], cityId : 0, cityIndex : 0, - //区域选择 regiList : [], regiId : 0, @@ -90,8 +87,14 @@ Page({ atcode = area[index].id if (index != this.data.areaIndex) { this.setData({ - areaIndex : index, - areaId : atcode + areaIndex : index, + areaId : atcode, + cityList : [], + cityId : 0, + cityIndex : 0, + regiList : [], + regiId : 0, + regiIndex : 0, }) // 获取市级列表 this.citylist(atcode) @@ -107,9 +110,12 @@ Page({ }).then(res=>{ let cityArr = res.data this.setData({ - cityId : cityArr[0].id, - cityIndex : 0, - cityList : cityArr + cityId : cityArr[0].id, + cityIndex : 0, + cityList : cityArr, + regiList : [], + regiId : 0, + regiIndex : 0, }) // 获取区级列表 @@ -208,14 +214,17 @@ Page({ */ addressRemove(){ wx.showModal({ - title : '提示', - content : '是否删除地址', - success : res=> { + title : '提示', + content : '是否删除地址', + confirmText : '删除', + confirmColor: '#e92152', + success : res => { if (res.confirm) { wx.showLoading({ title: '删除中', }) - wx.$api.site.siteDel(this.data.addressId).then(res=>{ + wx.$api.site.siteDel(this.data.addressId).then(() => { + wx.hideLoading() wx.navigateBack() }) } diff --git a/pages/site/edit/edit.wxml b/pages/site/edit/edit.wxml index 646c5ea..23eadf5 100644 --- a/pages/site/edit/edit.wxml +++ b/pages/site/edit/edit.wxml @@ -1,52 +1,53 @@ -
- - - - - - - - - - - - - {{ areas[areaIndex].name }} + + + + + + - - - - - - - - {{ cityList[cityIndex].name }} + + + - - - - - - - - {{ regiList[regiIndex].name }} + + + + + {{ areas[areaIndex].name }} + + + - - - - - - - - - 设置默认地址 - - - - - 删除地址 - - - - -
\ No newline at end of file + + + + + {{ cityList[cityIndex].name }} + + + + + + + + + {{ regiList[regiIndex].name }} + + + + + + + + + + 设置默认地址 + + +
+ + + + 删除地址 + + \ No newline at end of file diff --git a/pages/site/edit/edit.wxss b/pages/site/edit/edit.wxss index 0a571a8..6d53157 100644 --- a/pages/site/edit/edit.wxss +++ b/pages/site/edit/edit.wxss @@ -1,99 +1,19 @@ -.site-form { - background: white; - display: block; -} -.site-input { - padding: 0 30rpx 0 200rpx; - position: relative; - line-height: 110rpx; - min-height: 110rpx; -} +.content{ min-height: 100vh; background: #f7f8f9; padding-top: 30rpx; box-sizing: border-box; } -.site-input::before { - position: absolute; - bottom: 0; - left: 30rpx; - right: 0; - height: 1rpx; - content: ""; - background: #e4e6f2; -} +/* 收货地址 */ +.site-form{ background: white; border-radius: 20rpx; margin: 0 30rpx; padding: 20rpx 0; } +.site-input{ display: flex; justify-content: space-between; align-items: center; padding: 0 30rpx;} +.site-input label{ width: 170rpx; font-size: 30rpx; color: #333; line-height: 90rpx; } +.site-input input{ width: calc(100% - 170rpx); font-size: 30rpx; } +.site-input picker{ width: calc(100% - 170rpx); } +.picker{ padding-right: 90rpx; width: 100%; box-sizing: border-box; position: relative; } +.picker-icon{ width: 32rpx; height: 32rpx; position: absolute; right: 0; top: 50%; margin-top: -16rpx; } +.site-switch{ display: flex; align-items: center; justify-content: space-between; padding: 0 30rpx; height: 90rpx; color: #333; } -.site-input:last-child::before { - display: none; -} +/* 保存地址 */ +.site-btn{ padding: 50rpx 30rpx 30rpx; } +.site-btn button[size="mini"]{ background: #e92152; height: 90rpx; line-height: 90rpx; width: 100%; vertical-align: top; border-radius: 45rpx; color: white; font-size: 32rpx; } +.site-btn button[size="mini"][disabled] { background: #e92152; color: #fff; opacity: .5; } +.site-del{ margin: 0 30rpx; line-height: 90rpx; text-align: center; color: #e92152; background: white; border-radius: 45rpx; } -.site-input label { - position: absolute; - left: 30rpx; - top: 0; -} - -.site-input input { - height: 110rpx; -} - -.site-input image { - width: 44rpx; - height: 44rpx; - position: absolute; - right: 20rpx; - top: calc(50% - 22rpx); -} - -.site-btn { - padding: 20rpx 30rpx; - margin-top: 100rpx; -} - -.site-btn button[size="mini"] { - width: 100%; - background: #e92152; - height: 88rpx; - line-height: 88rpx; - font-size: 30rpx; - color: white; - padding: 0; -} - -.site-btn button[disabled] { - background: #e92152 !important; - color: #fff !important; -} - -.site-switch { - font-size: 32rpx; - margin: 30rpx; - display: flex; - line-height: 40rpx; -} - -.site-switch text { - flex: 1; -} - -.site-switch-active { - color: #797979; -} - -.site-del { - width: 100%; - text-align: center; - margin-top: 40rpx; - padding-top: 60rpx; - border-top: 2rpx solid rgb(228, 230, 242); - color: #ff9951; -} - -.site-del-btn { - text-align: center; -} - -.site-del-img { - width: 46rpx; - height: 46rpx; - display: inline-block; - vertical-align: -10rpx; - margin-right: 5rpx; -} \ No newline at end of file diff --git a/pages/site/index.wxml b/pages/site/index.wxml index d31a91f..76d0f73 100644 --- a/pages/site/index.wxml +++ b/pages/site/index.wxml @@ -1,25 +1,16 @@ - - - - - + + - - - {{item.name}} - - - {{item.mobile}} - - - 默认 - + {{item.full_address}} + + {{item.name}} + {{item.mobile}} + 默认 - {{item.full_address}} - + diff --git a/pages/site/index.wxss b/pages/site/index.wxss index 906ae0a..e10027a 100644 --- a/pages/site/index.wxss +++ b/pages/site/index.wxss @@ -1,116 +1,21 @@ -page{ - background-color: #f4f4f6; -} -.list { - border-bottom: 90px solid transparent; - padding: 30rpx; - box-sizing: border-box; -} +/* 地址列表 */ +.list{ padding: 30rpx 0 180rpx; height: 100vh; box-sizing: border-box; background: #f7f8f9; } +.address{ background: white; border-radius: 20rpx; margin: 0 30rpx; } +.address-flex{ display: flex; justify-content: space-between; align-items: center; padding: 30rpx; } +.address-icon{ width: 38rpx; height: 38rpx; } +.address-btn{ width: 38rpx; height: 38rpx; } +.address-cont{ width: calc(100% - 76rpx); padding: 0 30rpx; box-sizing: border-box; } +.address-text{ font-size: 30rpx; line-height: 40rpx; font-weight: bold; padding-bottom: 15rpx; } +.address-info{ display: flex; align-items: center; } +.address-tag{ color: white; height: 30rpx; display: inline-block; font-size: 20rpx; background: #e92152; padding: 0 10rpx; border-radius: 10rpx; margin-left: 10rpx; } +.address-name{ font-size: 30rpx; max-width: 200rpx; } +.address-mobile{ padding-left: 20rpx; color: gray; } +.select{ text-align: center; color: #e92152; border-top: solid 1rpx #f7f8f9; font-size: 30rpx; line-height: 90rpx; } -.address { - background-color: #FFFFFF; - margin-bottom: 30rpx; - padding: 30rpx; - box-sizing: border-box; - border-radius: 10rpx; -} - -.address:last-child { - margin-bottom: 0; -} - -.address-top { - display: flex; -} - -.address-img { - background-color: #eeeeee; - border-radius: 50%; - width: 60rpx; - height: 60rpx; - padding: 10rpx; - box-sizing: border-box; - margin-top: 25rpx; -} - -.address-img image { - width: 100%; - height: 100%; -} - -.address-btn { - width: 40rpx; - height: 40rpx; - margin-top: 62rpx; -} - -.address-cont { - width: calc(100% - 102rpx); - padding: 0 30rpx; - box-sizing: border-box; -} - -.address-cont-title { - display: flex; - margin-bottom: 20rpx; - line-height: 44rpx; -} - -.address-cont-mobile { - margin: 0 20rpx; - color: rgb(104, 104, 104); -} - -.address-cont-default { - background-color: #ff9951; - color: #FFFFFF; - font-size: 24rpx; - border-radius: 40rpx; - padding: 0 15rpx; - height: 38rpx; - line-height: 38rpx; - margin-top: 2rpx; -} - -.address-cont-text { - line-height: 42rpx; - font-size: 28rpx; -} - -.select { - text-align: right; - padding-top: 30rpx; -} - -.select-btn { - border: 2rpx solid #e92152; - color: #ff9951; - display: inline-block; - font-size: 28rpx; - padding: 0 30rpx; - line-height: 54rpx; - border-radius: 5rpx; -} +/* 空页面 */ +.pages-hint{ padding-bottom: 180rpx; } /* 按钮 */ -.footer { - width: 100%; - height: 90px; - background-color: #FFFFFF; - position: fixed; - left: 0; - bottom: 0; - z-index: 9; - padding: 20px; - box-sizing: border-box; -} - -.btn { - line-height: 50px; - background-color: #e92152; - height: 100%; - text-align: center; - color: #FFFFFF; - border-radius: 10rpx; -} \ No newline at end of file +.footer { width: 100%; background-color: #FFFFFF; position: fixed; left: 0; bottom: 0; z-index: 9; padding: 30rpx 30rpx 60rpx; box-sizing: border-box; } +.footer .btn { line-height: 90rpx; padding: 0; font-size: 32rpx; font-weight: bold; background-color: #e92152; text-align: center; color: #FFFFFF; border-radius: 45rpx; } diff --git a/pages/user/code/code.js b/pages/user/code/code.js index 7c48f6a..40ffeb3 100644 --- a/pages/user/code/code.js +++ b/pages/user/code/code.js @@ -13,7 +13,6 @@ Page({ shareSee : false, //分享弹出 inviteText : '', //邀请码 inviteCode : '', //二维码 - //海报 canvas : '' }, @@ -38,7 +37,7 @@ Page({ */ onShow() { // 小程序码 - // this.ShareInfo(); + this.ShareInfo(); }, /** @@ -46,7 +45,7 @@ Page({ */ ShareInfo() { wx.$api.user.miniShare({ - url: '/pages/mall/index' + url: 'pages/mall/index' }).then(res => { this.setData({ inviteCode: res.data.qrcode @@ -151,9 +150,7 @@ Page({ // 返回上一页 returnGo() { - wx.navigateBack({ - delta: 1 - }) + wx.navigateBack() }, /** diff --git a/pages/user/code/code.wxml b/pages/user/code/code.wxml index 5c10c85..ef26c17 100644 --- a/pages/user/code/code.wxml +++ b/pages/user/code/code.wxml @@ -1,7 +1,10 @@ + + + @@ -20,16 +23,18 @@ - - - - - - 保存二维码 + + + + + + + 保存二维码 + + 取消 - 取消 - \ No newline at end of file + diff --git a/pages/user/code/code.wxss b/pages/user/code/code.wxss index 7972b93..05f6a2f 100644 --- a/pages/user/code/code.wxss +++ b/pages/user/code/code.wxss @@ -1,148 +1,31 @@ /* 返回上一页 */ -.navigation{ - position: fixed; - top: 0; - left: 0; - z-index: 99; - width: 100%; - height: 90rpx; - background-color: transparent; - transition: .2s; -} +.navigation{ position: fixed; top: 0; left: 0; z-index: 9; width: 100%; height: 90rpx; background-color: transparent; transition: .2s; } +.navigation.active { background-color: transparent; } +.navigation-arrow { width: 44rpx; height: 44rpx; margin: 20rpx 15rpx 0 20rpx; } -.navigation.active { - background-color: transparent; -} +/* 二维码海报 */ +.code { width: 100vw; height: 100vh; position: relative; } +.code-back { position: absolute; left: 0; top: 0; width: 100%; height: 100%; } +.code-cont { width: 400rpx; position: absolute; z-index: 9; text-align: center; left: calc(50% - 200rpx); bottom: 8vh; } +.code-img{ margin: 0 auto 20rpx; overflow: hidden; width: 260rpx; height: 260rpx; border: 4rpx solid #ff4f64; background-color: #ffffff; padding: 10rpx; box-sizing: border-box; border-radius: 50%; } +.code-img image { width: 100%; } +.code-text { color: #ffffff; font-size: 30rpx; } -.navigation-arrow { - width: 44rpx; - height: 44rpx; - margin: 20rpx 15rpx 0 20rpx; +/* 海报分享 */ +.code-share { position: absolute; right: 0; bottom: 15%; background: linear-gradient(to right, #fffafb, #ffd4dd); width: 50rpx; text-align: center; border-radius: 26rpx 0 0 26rpx; padding: 30rpx 10rpx 30rpx 15rpx; box-shadow: 0 0 0 6rpx rgba(249, 96, 116, .8); z-index: 9; } +.code-share-name { writing-mode:vertical-rl; font-size: 30rpx; padding-left: 4rpx; color: #da2b54; } +.code-share image { width: 36rpx; height: 36rpx; margin-bottom: 5rpx; } - -/* 二维码 */ -.code { - width: 100vw; - height: 100vh; - position: relative; -} - -.code-back { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; -} - -.code-cont { - width: 400rpx; - position: absolute; - z-index: 9; - text-align: center; - left: calc(50% - 200rpx); - bottom: 5%; -} - -.code-img{ - margin: 0 auto 20rpx; - overflow: hidden; - width: 260rpx; - height: 260rpx; - border: 4rpx solid #ff4f64; - background-color: #ffffff; - padding: 10rpx; - box-sizing: border-box; -} - -.code-img image { - width: 100%; -} - -.code-text { - color: #ffffff; - font-size: 32rpx; -} - -.code-share { - position: absolute; - z-index: 10; - right: 0; - bottom: 15%; - background: linear-gradient(to right, #fffafb, #ffd4dd); - width: 50rpx; - text-align: center; - border-radius: 26rpx 0 0 26rpx; - padding: 30rpx 10rpx 30rpx 15rpx; - box-shadow: 0 0 0 6rpx rgba(249, 96, 116, .8); -} - -.code-share-name { - writing-mode:vertical-rl; - font-size: 30rpx; - padding-left: 4rpx; - color: #da2b54; -} - -.code-share image { - width: 36rpx; - height: 36rpx; - margin-bottom: 5rpx; -} - -.sharePop { - position: fixed; - width: 100%; - z-index: 99; - left: 0; - bottom: 0; - background-color: #ffffff; - display: none; -} - -.sharePop.active { - display: block; -} - -.shareCont-label image { - width: 60rpx; - height: 60rpx; - display: block; - margin: 0 auto 10rpx; -} - -.shareCancel { - border-top: 2rpx solid #ebebeb; - color: #000000; - width: 100%; - text-align: center; - line-height: 100rpx; -} - -.shareCont{ - display: flex; - padding: 30rpx 0; -} - -.shareCont-label { - color: #000000; - flex: 2; - text-align: center; - font-size: 28rpx; -} - -.codeShare-button { - background-color: transparent; - padding: 0; - font-weight: normal; -} +/* 弹出层 */ +.sharePop-lay{ background: rgba(0, 0, 0, .5); position: fixed; top: 0; left: 0; right: 0; height: 100vh; width: 100vw; z-index: 9; display: none; } +.sharePop-lay.active{ display: block; } +.sharePop { position: fixed; width: 100%; z-index: 99; left: 0; bottom: 0; background-color: #ffffff; } +.shareCont-label image { width: 60rpx; height: 60rpx; display: block; margin: 0 auto 10rpx; } +.shareCancel { border-top: 2rpx solid #ebebeb; color: #000000; width: 100%; text-align: center; line-height: 100rpx; } +.shareCont{ display: flex; padding: 30rpx 0; } +.shareCont-label { color: #000000; flex: 2; text-align: center; font-size: 28rpx; } +.codeShare-button { background-color: transparent; padding: 0; font-weight: normal; } /* canvas */ -.canvas-img { - position: fixed; - left: 0%; - /* left: -10000%; */ - top: 0; - z-index: 99; -} \ No newline at end of file +.canvas-img { position: fixed; left: 0%; left: -100%; top: 0; z-index: -1; } \ No newline at end of file diff --git a/pages/user/index.js b/pages/user/index.js index c012f08..868bd4b 100644 --- a/pages/user/index.js +++ b/pages/user/index.js @@ -8,15 +8,10 @@ Page({ * 页面的初始数据 */ data: { - userLogin: false, - userData: '', // 用户信息 + userLogin : false, + userData : '', }, - /** - * 生命周期函数--监听页面加载 - */ - onLoad(options) {}, - /** * 生命周期函数--监听页面显示 */ @@ -31,7 +26,8 @@ Page({ return } this.setData({ - userLogin: false + userLogin: false, + userData : '' }) }, @@ -43,16 +39,31 @@ Page({ this.setData({ userData: res.data }) - console.log(res) - }).catch(err => {}) + }) }, - /** * 处理未登录时的转跳 */ userNav(e){ let pageUrl = e.currentTarget.dataset.url if(wx.getStorageSync("token") != ''){ + if(e.currentTarget.dataset.type && e.currentTarget.dataset.type == 'needSign' && this.data.userData.need_sign){ + wx.showModal({ + title : '提示', + content : '您还未完成实名认证与签约成为VIP用户,无法获得邀请码', + cancelText : '稍后完成', + confirmText : '立即完善', + confirmColor : '#da2b54', + complete : res => { + if (res.confirm) { + wx.navigateTo({ + url: '/pages/idcard/idcard' + }) + } + } + }) + return + } wx.navigateTo({ url: pageUrl }) @@ -62,5 +73,16 @@ Page({ url: "/pages/login/index" }) } + }, + /** + * 购买产品 + */ + onBuy(e){ + let { id } = e.currentTarget.dataset + if(id){ + wx.navigateTo({ + url: '/pages/mall/details/details?id=' + id, + }) + } } }) \ No newline at end of file diff --git a/pages/user/index.wxml b/pages/user/index.wxml index dfa2652..8f9241c 100644 --- a/pages/user/index.wxml +++ b/pages/user/index.wxml @@ -51,10 +51,6 @@ 已签收 - @@ -67,15 +63,15 @@ 我的账户 - + 我的团队 - + 邀请码 @@ -83,9 +79,9 @@ 我的地址 - + - 意见反馈 + 实名认证 @@ -105,7 +101,7 @@ 为你推荐 - + diff --git a/pages/user/index.wxss b/pages/user/index.wxss index 125118c..20bbab1 100644 --- a/pages/user/index.wxss +++ b/pages/user/index.wxss @@ -91,11 +91,12 @@ page { } .order-icon { - width: 56rpx; + width: 52rpx; } .order-label { font-size: 26rpx; + color: #333; } .order--number { @@ -120,8 +121,7 @@ page { } .tool-icon { - width: 62rpx; - margin-bottom: 10rpx; + width: 52rpx; } /* 推荐 */ @@ -230,7 +230,7 @@ page { .goodsItem-price { flex: 1; - color: #ff1122; + color: #da2b54; font-size: 32rpx; font-weight: 600; } diff --git a/pages/user/setup/setup.wxss b/pages/user/setup/setup.wxss index f55710c..3cbb0fc 100644 --- a/pages/user/setup/setup.wxss +++ b/pages/user/setup/setup.wxss @@ -147,7 +147,7 @@ page { padding: 0 !important; background-color: transparent; font-weight: normal !important; - color: #6c78f8; + color: #da2b54; } .publicPop-btn-go { diff --git a/pages/user/team/index.wxss b/pages/user/team/index.wxss index 47b6488..019dfed 100644 --- a/pages/user/team/index.wxss +++ b/pages/user/team/index.wxss @@ -123,6 +123,7 @@ page { padding: 120rpx 0; color: #6d6d6d; font-size: 28rpx; + border-radius: 20rpx; } .pages-no image { diff --git a/pages/withdraw/withdraw.js b/pages/withdraw/withdraw.js new file mode 100644 index 0000000..8355dcf --- /dev/null +++ b/pages/withdraw/withdraw.js @@ -0,0 +1,148 @@ +Page({ + + /** + * 页面的初始数据 + */ + data: { + banks : [], + type : 1, + bankVal : 0, + isDisabled : false, + balance : 0, + greater : false, + rate : 0, + min : 0, + name : '', + idcard : '', + identity : { + name : '', + id_card_no : '' + }, + bankNo : '', + mobile : '', + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad() { + wx.$api.withdraw.create().then(res => { + let { bank, tax, min, balance, banks, id_card, has_bank} = res.data; + let banksArr = [{ id: '', name: '请选择开户银行'}].concat(banks) + this.setData({ + banks : banksArr, + balance : balance, + rate : tax, + min : min, + name : id_card.name, + idcard : id_card.id_card_no, + identity : id_card, + isDisabled : has_bank + }) + if(has_bank){ + let bankIndex = banksArr.findIndex(val => val.name === bank.bank_name) + this.setData({ + type : bank.message_type, + bankNo : bank.bank_no, + mobile : bank.mobile, + bankVal : bankIndex >= 0 ? bankIndex: 0 + }) + } + }) + }, + /** + * 选择提现类型 + */ + onTypeTab(e){ + let { type } = e.currentTarget.dataset + if(type == this.data.type) return + if(this.data.isDisabled){ + wx.showToast({ + title: "银行卡信息已绑定,如需变更请联系系统管理员", + icon : "none" + }) + return + } + + if(type == 1){ + this.setData({ + name : this.data.identity.name, + idcard : this.data.identity.id_card_no + }) + }else{ + this.setData({ + name : '', + idcard : '' + }) + } + this.setData({ + type + }) + }, + /** + * 选择开户银行 + */ + bankChange(e){ + let { value } = e.detail; + this.setData({ + bankVal: value + }) + }, + /** + * 全部提现 + */ + onAll(){ + this.setData({ + amount: this.data.balance + }) + }, + /** + * 输入提现金额 + */ + onInput(e){ + let { value } = e.detail; + this.setData({ + greater: parseFloat(value) > parseFloat(this.data.balance) + }) + }, + /** + * 提现 + */ + onSubmit(e){ + if(this.data.bankVal == 0){ + wx.showToast({ + title: '请选择开户银行', + icon : 'none' + }) + return + } + wx.showLoading({ + title: '提交中...', + mask : true + }) + let valueObj = e.detail.value + let data = { + bank_name : this.data.banks[this.data.bankVal].name, + amount : valueObj.amount, + name : valueObj.name, + mobileNo : valueObj.mobile, + bank_no : valueObj.bankNo, + id_card : valueObj.idcard || '', + message_type: this.data.type, + } + wx.$api.withdraw.withdraws(data).then(res => { + wx.hideLoading() + wx.showModal({ + title : '提示', + content : res.data, + showCancel : false, + confirmColor : '#da2b54', + success : ModalRes => { + if(ModalRes.confirm){ + wx.navigateBack() + } + } + }) + }).catch(err => {}) + } +}) \ No newline at end of file diff --git a/pages/withdraw/withdraw.json b/pages/withdraw/withdraw.json new file mode 100644 index 0000000..2311639 --- /dev/null +++ b/pages/withdraw/withdraw.json @@ -0,0 +1,4 @@ +{ + "usingComponents": {}, + "navigationBarTitleText": "提现" +} \ No newline at end of file diff --git a/pages/withdraw/withdraw.wxml b/pages/withdraw/withdraw.wxml new file mode 100644 index 0000000..991ec2d --- /dev/null +++ b/pages/withdraw/withdraw.wxml @@ -0,0 +1,52 @@ + + +
+ + + 本人银行卡 + 非本人银行卡 + + + + + + {{banks[bankVal].name}} + + + + + + + + + + + + + + + + + + + + + + + + 提现金额 + 最小提现金额:{{min}}元,提现手续费{{rate}}% + + + + + 当前账户余额{{balance}}全部提现 + 输入金额超过账户余额 + + + +
+
+ + 后台提现管理时间 上午11:00-12:00 下午17:00-18:00 +
\ No newline at end of file diff --git a/pages/withdraw/withdraw.wxss b/pages/withdraw/withdraw.wxss new file mode 100644 index 0000000..80d91c8 --- /dev/null +++ b/pages/withdraw/withdraw.wxss @@ -0,0 +1,35 @@ + +.content{ min-height: 100vh; background: #f7f8f9; padding: 30rpx; box-sizing: border-box; } + +/* 提现前置 */ +.hint{ font-size: 28rpx; line-height: 90rpx; text-align: center; color: gray; } +.block{ background: white; border-radius: 20rpx; overflow: hidden; } +.block-title{ font-size: 30rpx; font-weight: bold; line-height: 50rpx; } + +/* 银行信息 */ +.bank{ background: #fdfdfd; padding: 50rpx; } +.bank-tabs{ margin-bottom: 30rpx; display: flex; align-items: center; line-height: 100rpx; } +.bank-tabs > .item{ width: 50%; text-align: center; font-size: 30rpx; } +.bank-tabs > .item.active{ color: #da2b54; font-weight: bold; } +.bank-input{ display: flex; justify-content: space-between; height: 90rpx; line-height: 90rpx; font-size: 30rpx; background: #f7f8f9; border-radius: 10rpx; margin-bottom: 30rpx; padding: 0 30rpx; } +.bank-input label{ width: 150rpx; color: #333; } +.bank-input input{ font-size: 30rpx; width: calc(100% - 150rpx); height: 90rpx; vertical-align: top; text-align: right; } +.banks-picker{ font-size: 30rpx; width: calc(100% - 150rpx); text-align: right; } +.banks-text{ display: flex; align-items: center; justify-content: flex-end; } +.banks-text.gray{ color: gray; } +.banks-icon{ vertical-align: middle; margin-left: 10rpx; width: 24rpx; height: 24rpx; } + + +/* 提现金额 */ +.cny{ padding: 50rpx; border-top: dashed 1rpx #ddd; } +.cny-title{ padding-bottom: 20rpx; line-height: 40rpx; font-size: 30rpx; color: #333; } +.cny-title text{ font-size: 90%; color: gray; } +.cny-input{ display: flex; font-size: 60rpx; height: 120rpx; line-height: 120rpx; font-weight: 500; font-family: Arial, Helvetica, sans-serif; border-bottom: solid 1rpx #ddd; } +.cny-input input{ flex: 1; height: 120rpx; padding: 0; margin: 0; font-size: 70rpx; } +.cny-balance{ font-size: 28rpx; line-height: 60rpx; padding-top: 20rpx; } +.cny-balance text{ color:#da2b54; margin-left: 10rpx; } +.cny-balance.red{ color: red; } +.cny-btn[size="default"]{ width: 100%; height: 90rpx; line-height: 90rpx; border-radius: 45rpx; background: #da2b54; color: white; font-size: 32rpx; margin-top: 50rpx; padding: 0;} +.cny-btn[size="default"][disabled]{ background: #da2b54; color: white; opacity: .5; } + + diff --git a/project.private.config.json b/project.private.config.json index b054770..07750c4 100644 --- a/project.private.config.json +++ b/project.private.config.json @@ -1,6 +1,6 @@ { "description": "项目私有配置文件。此文件中的内容将覆盖 project.config.json 中的相同字段。项目的改动优先同步到此文件中。详见文档:https://developers.weixin.qq.com/miniprogram/dev/devtools/projectconfig.html", - "projectname": "xuan_wechat", + "projectname": "%E7%82%AB%E7%81%AB", "setting": { "compileHotReLoad": true, "urlCheck": true @@ -9,8 +9,29 @@ "miniprogram": { "list": [ { - "name": "", - "pathName": "pages/login/index", + "name": "详情详情", + "pathName": "pages/mall/details/details", + "query": "id=4&invite=", + "launchMode": "default", + "scene": null + }, + { + "name": "支付成功", + "pathName": "pages/pay/success/success", + "query": "", + "launchMode": "default", + "scene": null + }, + { + "name": "提现", + "pathName": "pages/withdraw/withdraw", + "query": "", + "launchMode": "default", + "scene": null + }, + { + "name": "实名认证", + "pathName": "pages/idcard/idcard", "query": "", "launchMode": "default", "scene": null diff --git a/static/icons/add_icon.png b/static/icons/add_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..addb8f4a870feb41938fd29b326fdaee4e75959e GIT binary patch literal 4466 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 IyM+AmFVziEX#fBK literal 0 HcmV?d00001 diff --git a/static/icons/fali_icon.png b/static/icons/fali_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..502fb08e702d96a7aa20f472098853f629fcc3ae GIT binary patch literal 5622 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 O15%P#mn)Yw3;7@M`0m>P literal 0 HcmV?d00001 diff --git a/static/icons/notice.png b/static/icons/notice.png index e488bb61ec1c3ea9050d2b3f3d0b781667183c9d..84994da8fdfe9096a54b87dd26e48208d0e60b42 100644 GIT binary patch delta 1275 zcmX@e-z+#mMU1n+BeIx*fm;}a85w5Hkzin8npX|K4FOE^#d@nY@ruht;(#HLqmy1x7u~oV;SIlw@0_ zjFOT9D}DWf(xM!_{GxRIlw|$XoYY*PvSNKhJwtsZg^FB|+JcPylKkR~`~sjkVjM8u zrjTK<66k8dw0`8e(W_Wo&3=XrXOjVP#+dvb4a;H$NpatrAVCMTnt^l>tzx zF^baElEjq6l0ei6`Sp!1B8 z#XX&!1B&v~GIM|u#X;^)3ZAacW`>q#X1YdthLb-qEw2YU+1J;~BeS?9zo^nq!KNrB z%_=yx5X#EQQ~*bVRbp~UW_}*fki@do6eXx&W?pegVqS8pr;Du;&>X$Y%oHmkg4GD7 zzdR$g9%v>!KrurJVtH|XT1k0gQL1A)FoJEB98>a>QWXMVQLA7C^oxRqZ(?$09w@Rk zVa6wCB<7{3rr0X!E9nFMqmS^KKHS$VAa75e!t7AL;HPH^0|S$Sr;B4qMC;ib{vE!F z630KDKYD@Zve@`Gixja%_D{>O_iFC(+p(wY zmB^w`3q?{2jQXWku(mI*t@o~A>}xD}9L^`e8goGC&w;BcN{p2~%oVCr?h8JgI(Ofy zg{BrlZ}YyW3%}%B%Rjs2g6XgA&e_K;*Q{Z9A}p7rr?*tytNPk~r~L*Ke-)Y^lF=4U z;jnHM>9tlcUaKr$C{z7mkI#%GO&3dr&R-j1JI;MD$u_>a!b|J5!MSAVcfJlA^Ojsw z=#1mAKhV#`sQ*L`$8=ob2N^B)c-G-JdrQ^-wg&J N@O1TaS?83{1OSjU*lz#; delta 1156 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'a>_Das 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 literal 0 HcmV?d00001 diff --git a/static/imgs/tool_01.png b/static/imgs/tool_01.png index 52400c8862dcf4b0f54fa4bd0581c1fdc5160acb..e7c33486098f9fca69023406c4604f12a34c9ab3 100644 GIT binary patch delta 2483 zcmbtS2{_d29=0bG4k=60Kc&InY{o3M24l%`WIG(9Ss9I)F*8DGrmSO-CPTVJx)D*% zsH85{F^O;>1EJWGIzE zO;EtNP`Di&3Rt8he8sZkSUeUtj>T5+7-=q^iry*LSkg!oIEqY#fmkw)4B8V>NDxaT zAwV(}Nuj5#=f2s?PujLLC=LbAU< z&YRBVu{fzN7ET-r4HryJ{B6geTl|^>j!5RwSxf~9aR-$G{B}uaa(P51nd;-=3@CW) z=yVE>geIbhSbGYHp<>~nJp};=G4^N-NQ03OG&l@{LJ$=SzmX=#Q3VRle>C)4mmF{? z)MA&u;kYasFPX@p;$syFI|FzMi$t{uT+G%2q3~j{(Vs}BGry({S)?b&5t*@6iZcKO zp#RQ~;J+IBUp~rWMTMb1`}uw9fASOZe;9)PGb`vHVl0xVZW4Up6q_q4sW13=;6vi} zzUoiS-x|7l$;@3CGDM5F7obY5RW|Pj!b&o4XNnSf4y-bTXjv~$uQkk6SvysB!0^l_ z5{hp72&{uZ;%z`RS&3oBo&<2IUtY_4M75*@fvlFe^50IRCciE_KYPd2+o$b@C6_;K z+cw?D?>Y|-2+px)`Eus;S(U3jjxsC*hS$| zTXWg&6r%-q^b^AYuA%3sn%~tMaX$S49i1=(LBrABK;hxM%59DL^Q<|zd3!egV~Sau zJduh()TZ0B9Y zhxaxXzc@B!Tqb1EC|o&~o@r#Zj>eai3dgTSq_yJ9RH)nQc9@#+eMPw@^(#zLA}(7`^NNxd8c4{hLCo)G3^*8N7aACapUO~omwOat$r8* zp)IXG{&Zcs;Tf$1RwLsh&rJ_K;FrN3MSj=!SemR)?b379%God$nsN+3R~cpLcpkQ%fLS0ZAGPL-kCj|QP$U} z?zkup4$Nt?d4KnqQ>a=-L_;S*cEcYY)X)o;3Cg3k-O?TPHSSX-NWfhkC6;4}Zs$wN zFD$el%xY`_$CD>_w|ka0JmCvYNd(J3Rq05h#ei>Xf%dZjb5c?pc;_BNtQxVd`5i$+ zcXswls&Su_x@uq3o8I7&hP0~2G_^ZMqVXy(y`8mxi?L!r2OQGova;~5p%rl|MJmdI?=Y#^)^9*;w|Fl%)M z+8&nWBP!y++g(I^flMc=?n&?Px;vcp_M?Qi@jqW)J0JLLByZaV_JK~zrkunNfs%L) zslRNt%cXZ~-gXW8t{U&Q>hY%FXWpXcU%1^3=!x;nPY(`V?`OAStWv*Fa$pze-c9Di z!Ed6foii)1|gR95A8x=mn`66o}}=5E8q+>=Si zHBDIh&?EHMM}H`-0uQf)J>G&^Zj zam`JP+ZE#E1)5mZb_aGhy>!2ISm&bf6(eQ%yIrPd)4|#7l_fn&is3^D@HpkRE&Uf8 Ci5YhQ delta 1095 zcmV-N1i1UL8iNmzBqkYjMObuGZ)S9NVRB^vL1b@YWgtmyVP|DhWnpA_ami&o000Aq zkvfbgH7+(SV=**1AU8QKF*Y z000A%NklXZ8`R z*Xv$4T94?5{Ooae96R`b|0o)xut$e*M%9n5GSahClNMtbB69p&m>WHPf0LBO==9h1jSJyRSP z=Xk>P7^etb5Ijey^#&-9{=H7War$D-(Qi?ns9H*}{IZgFvVvuQnPQeuY%tFCRahSR zs>xH$c1~?n`m$P&{SWtYbsexX#sKAzXY<~_D>qTPHm}&1$Z9%ZzZe7Tggi@9^b^@K zwNdGdJx3YX31fgQ!E+4h51Kp|r)Mk7zQXosRVN9?P&&srpf@B*Z>b?r%n3XdB*jaL z8UGO^!Fk<1rs}nSQ_9jsh9LJyNlCjkMj3NxQfQVK%Mm@6Gl+0GX8BS!0V`8lq-v|0 za5;Kc)ec}8UYJzSxBxE;PTGUJamqqe{AmxhyvwT@CEZDreQJfyUZw zrUNpK8bEE^x}`!pmX+ZVTHZ#k*leG@zaQw@Wd-n7)dd)T+B?s}M>!4q1W=qDQtKl0 zO~h~rRkT^Qw1PYCR45ZLw6~bAIfUBNg)#*TqSTQisFFzsHa<4wEl0~eW{&C%EQppi z;6B=bvI!QzRScmHY)!`YcduPdIIB=Dzyi2KM*9!8p()P=^}Q~&t_AxezyRC{=zvepg`xle N002ovPDHLkV1h5(;S~S? diff --git a/static/imgs/tool_02.png b/static/imgs/tool_02.png index 99d700996bd385d4f4d219afde880ed0665c9ec2..ca6aaead534c1d61af6445933bc5f467138f956c 100644 GIT binary patch delta 1882 zcma)52~<;88V&~8T-Y;W6=MprNR~$+34wr;M2SvhM*||0<%Ps%BYDVTIjI{vI2eo2 zQbj?+Do_oDic2X%o#~NCMN$ibR4fz_a1b~`Y#(iDJ2U6ZnS1Vi=idK)_xr!^|Icl( z8F2i&3(8Uv!cid*>+DyS3F4!&O$daUWzoKTHxiD3hIIva)F^@r-%O+lHna4mGq|uw;{3J3JRluiVL=dE);_-@Pr35Ee zCgKHrJSYLBFieF9Z~z{IPL-};6(Tt#SBc~bm@UOuK2<1JO1TgXBbIU#LA*ki zh(WI!g7wKIawVJ@mPh<^oJFUHDdj@31pc9l*c*&yG3g}0k3_irZEsD?RzFX(?)>DS~cxe!X>D#6`}aEED_-2yoeM2D^R7VQmtLA$fLe6eh$ z+a9a*d=Xcc2nuKzJO&T@!T(_m|GR6`72BHg$X)8-Pkk~G2-7qcV|SG3#MBdUb#%0Y z`OMJq7g55Rt1%xH_m(qNyKOea=46XK9Zx^XTDEzJU?Lg%4;cDg+c0nRA)E;AJ}!y# z5D{K&;VKqgC3$RYd~~BfE7`g1IBj}R^^$fl{&=tnpA(8sYjEEp@DRNt{=_f|T<|+$J zA~;uilC_9v9L`t{ud+?cdEKQpXdW$<2Nm88r=Z+MmMim_`wN@hTt`#9y2&g~fo{>< z|KY`R6K8HO-Yk99Lww6BKBG@g2LO-GZLOAZO-@pStMJQR zTQW7DZ}!4B1C)0YhkWLT_qS)K84BB49k1Kn;*6cC(Dar*#T8vJTq`p^X?ET@QNrmcDBdI4QmPKr9& zYme30*R07cxh81^^;rf|vs**=OX~CM`W*prQ-guL*p?C3!=D`F-g5q~Dj*_$J8jge z;NY~`VBLYXJz?)HRqqO|Hw^0O^*1kP83ON`zK?q#=_c3KJ9QVQ6P)DP7N;%Vmx~zB zP7F7Dc(QEwUdhz2=Y6C2OXld9zhh&a+C{g~nsk)$ZDi7p7j8XdD|!8R<+M+GZLj}? zUFnAfn%Q5F@{f?d%XlNbJvshaK-N9^Jd@8}}EBm|$ z`lt*J_C$MUajt6{lE@&{Sdi)l)KUS9elAsYF>1D#;qH9T9}(j9fJrPMuGQV|lWopr&vmseO6I*4bt*R+J*W0mj7 zmFYvDeIIq}jsfcNs@9^+T+@5lI_Vc!d1}8u)roSTQhm!UMmJP- z7Zn~FqC@rP-GIz9*C|unOAPfL0^9WXLw#?XTAS||r1S4x<=r1Te{=$WWRAHhA#7;) z{G_3F=*7s}D`q4+Q#|S$FgbcjU^^O=%Rf3chOL_KpP!$XCE2PIXkEJVGuS>+J9=sB z61y}1U!6;{+7M*E-2(5rS}+veXdicfB)!1%)TX3C75SyZ!5WUi9j7e;CdIwe%{TjtsA;AIE!_JM%r}3Shi+rM)jMQw*L~geqaCTUE{1j1+(R#sV VpzN%#{{jLYEam~mwcx*<{28Gf9oPT> delta 1266 zcmVD-yACmpuz(G~dSHfsXc0ZQM2A=bmZ?k{9i#oBWO(0S0an1Cd{J7v&F`-4}p89IgyW2Ea?qLOJUszVmPF1 zg!VDw&?zZc1Px4swGfxcrTZ;)LGa$Foun@bGl1GoQWA_)K)Z{E&_}^+7hV2QiBTYx zJnImKm<7I-7%Inqfmb-$!!sSi(%QekG~*obNK8EX4){6YRzhmRwgMjuxN!`Lu4~vM zNktTfTMq@-re2z}T6Ta;14E|`0@vN7U|9=rD7uCP?vJT2(iXu>P3^g92t%*8nG=~j z0p0~pYHYJ6%+ciX!?21|w~wr)8;&=}9JV-c4L!Fetit|(FH}5XWrK}OM?AlrFwo_p z>ZMRHA8L9EC?7W8qXVS>>|-L z>|o^KGRY5XOAxj<41*z6X_*TvMa7DaA*rGEjE+;2*<;2#X4b+3!-e9e5|+( zLahofh_*NpgV5Lc7z`=a#bJ*6S5?WN@#bF%#ob`@J6J)?Qk|-(*nY(&nCL{w2uBSt|ch zFw4xJe)G4N%IP=n4HhXj%NY{5DCZUZj-^O%ROW;!&oL~C6Q+I(mWZjJ364TtwOVEW cBmN370D@Wp;lzT&sQ>@~07*qoM6N<$g0Jm2@c;k- diff --git a/static/imgs/tool_03.png b/static/imgs/tool_03.png index 2acd08d204bb10a3ec0a7df9136136d77bb33c36..797ab6ad130ff78d70ce27b701dec04ed3bb7be1 100644 GIT binary patch delta 2461 zcmbtS2~<;O8V$&15d~wT;6g~*LbC^w@K}_FI4mNOMcK4wB|)-4VgRwEvRH_MV$eZ0 z6$+({$PPMMR3IQy6c;c8he#-BK?tA~6okgM%(T-p%Q^GT`_K8`|L%9cd%yelnB-fW zwuY=0dWDKWAY<@{r31<<*aQL@D6@S|+7VC~Bm;xNLy68PEWyzUM?^qz7#s$T)xJ(h zED>-d0eD>Y`$2t?m?9C&FXVqu}GXFhD0D@oai_*tTTat#G$bAY29z6 zTFHKXfEQOJ7Q`mFLtSH;Y#@*o^V=?(3;iVrfW{DW1$-?DO~PWremmsyMPeGC!SeQW zgK2qCTrLw}IXhu+3|3ljF6?z7T#*bt% z-C$@K`rrAH{#Qf)%SBn~s5SIwKfh1?Pkw^_4@2mGW`+JkjPjgSJEV^jcKU%p`agPm zdIWKfP4;t79tbu!oL2eP6ejo3s=wAPeN6REBlLW9CqQP^?&Ec`*lSF=28ob*`&4ung);t^2T&CPf3ohr)i2Ui?$z08gM?Y8eH0Jhk>IXj~KVVYo3X9D(xEwmoa9R5Fp-xZ99qRTsLe`kkvKA4AgOjYjY7Ny`_cT(fIJkmV&u`gLO8c(!*sMP(*1bh#;g8L%UXycxA2m0qZ>*U+ak}6Cfcfz~V#tob2MuvAK-oRke>=O&+qbBWZX~$I+ z@LfcR)Hu+6owVZ%<=$6ANcFKI7*21VRF<)Zw&`wq_lA2|#m$+8yyVv{)YxUqGZSU= za_TX-ccKrB;ZJ9U&)6rF)D&~h9Or~X5`1{>u+>&~;AwKs56hkA!+8fYk5Z|*%5!F2s2hIQE9<-k7n=4Cp?ekV1Uf@oW!B~J zHhesP3^8=8iegY$7UUi8UY?vDWx(kX?Xs%p@Hd;DiphOVggS;(Re#%_DF9b zZ`qR7R-1I_vi&nh%J!_z`X)x`iG%?2vAbQ15f7f>==b~2dP?+aigDp)S#2G-$?pEQ zWRm-Nv;w*m?0EI0@}sw=<6Z@QRB5jHtkap@iaZu6JZCguk(^_8q}ZpU=uZ6tCF3$5 zIlGEf^EW}V%(Vg}r|dmVH}ahhcwiFjFSw+1hu@nDySTGO z<6@bTJiB^mX}-C9a4(H2*#5|Np~yzELsse#wGiAUQFqMVdlx@wUBEIYNY!DB6#KX9 zBW$BK`DIt8@@{oIJiGwBn~hxDqPqLK5G|e#8^x+hV27r_v`~4#ehAks2H@{0IrsS! z(+E2mz_n>i(L4>tI*6`@*W2Z&S*^ZbmX;qnLbL`~O^)9T$@wml5L&NWIBwO;Q3n=n zFkFW|{L_Ur%2luKS&_~gDL9fBH?sS!XA?HB=oC`1?~I~u&#mEkc(Zkd|B346u>yRm zu`@YH@h}8q(_gXk;n*|5`SKS-4q0bwb5DSU8P&&6WjIV3T%WzBv&EtI1vu4%)HaPI z1uwMtPk_6>@!T`&6Vo5NW30*D>ZLfs{_@zxYT4GB{TJqv`W;AMKhF_b`6cs4*CQ=1q$cH6oi|Yw=d)Eld$#_+gZ^Ktg gPU|*$iHQbuF&=If-g-2b3erB_l--_JK0BEFGu5RW{{R30 delta 915 zcmV;E18n@88qf`pBqkYjMObuGZ)S9NVRB^vL1b@YWgtmyVP|DhWnpA_ami&o000Aq zkvfbgH7+(SV=**1AU8QKF*YuG(|ZvF-1i}H#RUiL@_u;LqtY5Ml(2*P6IcSUj(L;*#{)%5EGu!G^f{#dOMgwW*V@0>v7g;H_%?mT2*trW;2}6b zbF@^B&d@9H63ZIv`1+!>JRpL93Be--viW~r(zXCh!AV<4DlqZcF+x#jh>j3$jw9L` z7{|s#=1w760M6QsV9=t$NPB0PW58X6OI&~rz!Q9rx)#T_#iA603o5Wj;C;)5!KFsn z-{0VSo2O9+e%J#jb%8mw84zAGQV00APqOM4H@s8(J%rLv(`_tE<4Vc_~sr0Vm`y#BPPy}$i4vc#9eQu~b zA>8L86IkFNOxiQlJ*JFMVAO&turb?ijmyBe*@lPqRZ$ zz=m=<$~y|5w8K0bEj84CD!o+Mb_L#panHcG_h4SiYp~oirrdk5%wZ#c4R!w!{783_o(DbQKK$0Ke^M z;aDACU*zgOmU^-xruqh*cmkH_V7UiyiJXRdNHurV;1qlg{)s++$1-Zot765>!Kev< zPi%ebE7K!Ruxv^^TA3*bZuLX9LGRi6H)LJASVt8?&FZ52ykbLbt7k3inrNoJTc%@6 zvPH{(3Q$Rt^H@w2YJF*0XB#@jO%IwP<-qFK`5JuyFG|W6Sl3qf*uSF930i#k*M@L6 z;FlQ5%cQU?EW6o%0IIfMbyshqBX?}GJP!fzhA?s`$@7p;=&lC~N{aoknnAXgrD87s z!6QMJxm4;FOHa-&;{X5v07*qoM6N;tV1oQ~p(6kQ diff --git a/static/imgs/tool_04.png b/static/imgs/tool_04.png index 3f149efac7e9465336ea662c2ef0f507821967e1..8bc5d72e25697152b257c4b272b49cdbf47b2575 100644 GIT binary patch delta 2320 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 delta 1186 zcmV;T1YP@&8Ql+%BqkYjMObuGZ)S9NVRB^vL1b@YWgtmyVP|DhWnpA_ami&o000Aq zkvfbgH7+(SV=**1AU8QKF*YB+6 z000B+NklTML5X)k7~HdI-JQgMWgDLeGMD=~?JM zQHan(=|Rv-{{f*OwzS0Ws7WNP(I!@#uJ4r>UE|EoyxED_Ek5|sW_NaWe*0$L*G$ZH zUFSGT+&QL_^#0hsa?4h~Cjg^=fPVTv;knlY`~WlnAL#FqTzdAfGsG-O3@{EzN$w{I zcz+P^9Pm8~Q*pqDl!)Z1sI0MmX8WP25F25(?<0ho*a%}9dgTJG%}^5Sp#hpmFJKI; zax84ba9vFVw6Ynr_&~15ifQ&n9s)mx(<(~?t^>Z3X^xS9O4EP_ENUKq2UG>@l8s zEDCZKw3gN-Hfr0abXd;o5K9|G4&9a^&|0r5x<6y_h4`{*z!YGT+=4@0Llhvpo{O2e=Mcpaj%J_El?a zCm=BnDX-+{SyN|SR1tdv*b6ZIasfU{j{4w+Uj>Lj>MCLwhi!{gt6?bSeD0S4j|pX; zc5~F1u9SdOO}FOJBnvaac)_&9P~bFq0LW9nt#ZIDU|#THhpDfBWsP@Ye;>Ia6-M!2 z7{sO|*OAnchg54oOLULZSG#-$Z8c5uF^(abluW<8&og<+w4Bs@=bmYz$#I++!L{`^ zO^K$`x@KP@IWQ%55b{teZhDiG=2r#Rt|{`l1hvuWOC%>viE&C|8-ijil}Qg;nZkVPKH#ZOqS?NtY$Te0N?%oX?CgBtK%e}>(!j2Y zSVgh8xdvrfGg1#KWz`yMh}ef*Fv{Q4G51BvOrs#Ks4O5OhPxQ0h!88wHYQ{t)gQ+c zLMo_$_uNV7M^hXiXhZO0rt#~RSOy@WyU3miXdY1sJEm}wUn38GA}c(f%TWk0=U zPM_BS3=V3);J0SFMXa@;-x)qzv~8$tA7H7`y5t7VRm73=IJhsrS{;CIA2c07*qoM6N<$f?8}K APyhe` diff --git a/static/imgs/tool_05.png b/static/imgs/tool_05.png index 46f46baa2f77a45c8302398ea82be8245be0d325..9c2c0f18e19415d1373ee3700de7d58dce17fea2 100644 GIT binary patch delta 2087 zcmbtS2~<;88V=$PE)hjUshI#H2+4ad%S-Zx2nYcJB8yQ0wfab2NMiOx7OkXGiVT7j z0*EZ7I=ImYqQx>$Q31h9K~Z6#Ac|TM5Lxt85bVsOEuD6HW;ti>dH0-m@BQxgf8YPz zJYwd`PaLclsQtoq1cHUt^fV*n71$66b89pFQ`f;%kRk*@I*G-hLNJ3#W4V%OAPoc{ z{9{re7Q$d7bXvx{?m0R=FIsOrVdgrA7mX?P#ye(Ij$EljL_#iEqSvbt08sDK%Bd=C z6d)1;m>g5!FdYC}XQW3)7 zfGAxoL@5}EViX1&#waL@4N>SI3^VB*I!LE6XYR*HFayr{OGAI^5(5E$>C#WdbtDdwU8bhlaj2m~w z7AIzSx5~m{pRk)#XVH4sMANF)`4!UmDdQi0NcpZY7xn5)oM_E*mot(&TigXZEM5L` zE=+VWOVGmkp|U6DL0>_i+wkP4uWI@@6*XPeZ)%47s){Dx_PCc$R+UXkBVq;^llF@Z z>mv^N^b*PsE}EA-v{yp?tXT-n+1@K!^O4>7duw|YQ|(S-LlK~@)I@6SWL}suCx9i&G321MQfe=swKTUElrn03(M!; zHuSdnC$zoZV+60dfP78yBTLr?t!1;7NxXhT+9d7Pmq+^BvqnwtOI9L_`vn`eF3nF+ zgs*TRR`a%pQX&!4vU=MzacYBWIeP3*+DLx-@$l@i_6}mCxm|u1W%;1Vx5vXyU3ek) zup?$1)kIzYiV5?4L(86+-N;D5Dg!ndT4~~_1<#1p2!FU$nFowhd=g$DP#AB25kU#)&&*IW`@pS-9|^GfCXF5Rf`OD3LQ zz+1Z7B)mURcGu7|AuF~`_vJ0^N-|tEe!z*Xaz4{y%S3QUS4xp_$}uu%a+~Q)%ea?( z5%a|SNX5A8*Xb)fTce3K`-5jI;NFA8B2%XsaH|`zw%^_`%d=!r`jL(Xr=3U2XamEg z_dP;ZzYfX;W}WrU9dhh;_`ZB!?I~G%o8*g>9eF#K_lI6dzIVef8#?!TkZDNyYJBg? z#_YHf%Y^m>*`JwXZrh@h9^NS1uUVHvR;@qnng7ienO(U*`?{C0VfOIvHb)wq zkt~mTc#H0;TYyt~m_?1BVa#fD?&jweGHxA#I1P-T zMzAlX)nu`~y~|30io(a?Q@LBq^Cru~Yh9kJ)>gY-AF6^RZBEtmS;^ef?t9Y1hUwph z^~-$G;}=qbQUJ-oOJ{*c{_~Dgm0<-0ZDCT)6zxn<>%;cI2kH-3chn@k%jx*LqrCkc TC1c*l1bpy$o4rdn?n(FuyRu z5fR0MxEwvWf*S~4L^Q4^QBaJBh8`3C=fTI2nsitF zRj*#XswwOJoK?)Q6%!7JMWDHV#2CjY5!q&S-;kC&hQyQtW%Oy~_+L+?*8z+ZJOT{U zrPXU$-m7vgV5!TXw{emb)qZVbJSHY-RGGP^pxnHr5+pGr~Lp+2RCEqOt76v@K5onN< z-v;g~Y*`ZC+Up4`V|vyDT$MBgw;mgOlGph_o22{)a0W;#wxvve95G$H2|SmSH%kHo z&dUy9n#2V!0$n;83A&?Al~@LZ^-)h}BqG{{IowKaDjEv9W?&akY%4CNe%1-xlaw!_ z=*MW3c1Y?)*E>zFsC}Sh8$8hQ>?G}WMcYc*#X3A(l6-#)cxb2%P8`B8I-Zl1&!%jm zL-O5c;FQ5O7!_uJ6X@gTfmf3MSxKYD8=fZ~2flFc&^;t_90P%49?(P~eVqM03=KP1 zdV!h1F0Ny;z$aSx2UG%xuCTe3sMc$|V>+EU@_8J6iCSg^g(}(k>;d zom}ULpZkCMQFsU146*SxXJ#-8xGo12&j=gjOe6a$H&ldUb^< zAEW?>C}na5VJ-=)_1p0RM}glyTPDmsj{r|pg^g+m!(?`iM&JsHs55{)!m&eG8?{N8 zt1-vov`WQ)HjR4gnCdTxcNASEjA5HDsXT{2-#XmEiOMdzk5ZupxB{4^#0^F|0eXWmAlk#${kN5L5GkXzJ z%+mkMMNH4<2Z<b%7 diff --git a/static/imgs/tool_06.png b/static/imgs/tool_06.png index ff87f70f30d7de90133ec8be95bc31697ec8cfb7..e6baee48d9678717a3ed7e6e36052084bc1b5710 100644 GIT binary patch delta 2240 zcma)43pmtSA0~VuB~3!POrzW~cV@y%`&pE&Ip7-~@zuy@)xM`fZX`K#t zXE0w)Z3X1ZQdc{F(O6AQYbMJ(-5Q5L!6_&d7K(R5pm7e47`#0cgTkPYXw`Itqwz!s z0uhVJTI$u}3rMj7(G_)jEmACvEfBSnWp107BV z&{#MfLqlQlSh5p^juy$5;XxG@m*~Nx0Roz*YPrBvda-a6K_xa2?MTF;iD<$W6oH6B zeaXrt`f#WW`jP*E5(3d!q9carfcq~fO#n~<0q|Ggkl%=@6e69&V*vse7=r~w(2!hq z1PuDskV+qi$>FIotK?z-Gw$W#v6si8GnlFizW)w)s29lthjzl@;1~p2^ln)esFLjC zL)^*W3pl(Zu25$ll}-$x#r(cwGN8Zpfe26p3=UgG0>sj&u-}6WHeUd+DKsxn7nq6% z!C+8{|4&`NzK@Hffhx{F3i{_N{VO@2Ll?vWJepgCs>3cYH!6orgYNy>TPQ~51#061 zP#Ekl-M0NoPl*KB5j3g`3<*Q3{2>2r4f%&_%`dh^-)VdU<}@UWRNu7M%hN3|^5|qw z;vKVnhKvHK&a|1Brx8~MWqbzosV(wGN|O4c?G-aU8R&pG4C1GDZy zyY#odJ1jl)K3LR?2}PGDSB0G}9w-tDaC!$Wp0F73r%6uUpSM-c`R47s4l#^f?V7fY zyt1#OeQNI=$LeaJFy5x$Y_>+&B0Vy1em0P~YwI@fE-2qF4QaV%s!(#AQ;sXwRO(ua z%kyhp<`YJt%abW-sfqSp6Hk@0x>(n~oQlR5gykz@3b<{gS4XQfw$%rS#~+@G%UvbN ze2HG(J&+^jgVl*8W&Fj1i-@OFx)+Zw5B(T&EFaiUK7=%{6S0n)4gDBifEaVLuhoea zuCLC;fZd;UEuJBCKc$G?<=1`MZV(=7YdGhc1eLPZ&WyP`he<7NyB0UpUs#{=XrMQJ z>8Wl*xZQ*(!TLRAUX$H=FZ`5|RXHaOiniHSy={%cy|Qq!W(|OBxByW^F(V^ECa+TC z5&VsHuZgPktF{QeKsJ zTu+wa*tLAEB?qa;(3yP=JqSC4v*k`VW&)Z5tMuu6t!^TFGP1)u8=eit2U4|t3ev_+ zP5o6&*sjzvS*)<+$(YI94U)yJCa(VG{E7I` z8SLwPh+#~VopU?yEzS?0mI;RL`dL+4cukk2;e1E?2wt8o_k9zVD`VM$Z7&xjx{oOB zX^Jo<0d2G@n(#T(X1J|%%OD{z`&0AZ%=9i9PAx_&%lSH7gQXOBHEmil1&LPFC*X0f z2XbMVvxDZ!b!-Fo^0@Cl@3Q}8De6AjAoHUvUQ|LN*YXlZdQ;~M6CUCYG0UnX1D8Tm z-jtCuHW{V#%%{scO{zif0h3@}O`&f8rAu-P!$cutV8^EV=phozC`;KmmS}vOn-YIH zU~6MDi8Y@SHh8fF`EsRj5|F;ln)%h%ed1V4#fBIex8en@1>qOoI@-I?aW7`QVZ`8_ z7N1{nY6rJk{Z z#jlskE zuw%nPHx6pLBG*m7&{@L@gLxNbmntPwZu{iXr00id*G@V+`3Cei2c`AvJG2O6jy^`; zHoc1JzFjk7wK5-Eoklx78XrMc+t?}$hcJ^D4sHSqF}D*{GjAC`e>}= zds!n>4`TO|&MdkUP?D!r;&L#$!lB@f)H&bjC!uO5&W7W_lziVwdiy_PtUc;W7= z()~GpSyyJYLpLYo8V@zO;`6ekWmBe;TD$<7d6jLKRb@D6V{TLdKo~I(0+J)5jE8Q0 z|7$0|-r4~qjbbF`BNmXviQ18e>8!1gh2o=mu@%hR@wy+Tftk4X`s<>B>0oR}u`7wW z_FB{KMU(skb2_nmX1=%aeSPX=rTg_e>qo#5y_}`F{JK@zif%b4bxGgb-D0ZZ`PB(E P)$k(udTJKAe|zkoBnI$& delta 1474 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 J7q{=p_&Yh*yq^F7 delta 1149 zcmV-@1cLj_7^4r6BqkYjMObuGZ)S9NVRB^vL1b@YWgtmyVP|DhWnpA_ami&o000AU zkvfbgH7+(SV=**1AU8QKF*Yz26KGzCJ(E*+W+yK?-HXY; zuHnOn9YU!cI!tY_`o@Yh{NglU8ZDKuVEC{higrmc5v&%20!zQ4m^3JVd3hN!onys> zLdkGNE?7PRb4qJiF6=#%*9FT2^+W=#2yhu4utANqC`q;!EdeetDi#dasV$&mp#7ko z^fzVuCZUx=IiUf3(nSLR| zvO34OQSg=~l(2moP_m7a4{ntFCwOF;r3cQDNe6*pl6-Nhf~*XdV>-O6T!6)49TPBa!uur#Fs@JE1nhMTU?meUu04+d>>2lll)?CY0a|bfg}$D0=cEZ3 zZa+^u1e+$GY_JsrXHP(L4xr}97uQxy!91#&-bD!YmV9`w!D^rjpzjeteFU8&AI4zK z5Dmb+iqo{eVaxD;S?4{CZR`MR3b0OyhkODZq0N}E_6>9t^f_df(iH1h*e{4*>CKfw zJOl4NNgWl&8uG=ME4mr(>sY>${l5!;?9uIt1x5BkbF0;>R2t6M$RD-W!$11OAwwO)m0&z`W5kwj^Yppn&YYhW>RB(-p>-%(v+M!jWaW+e91n2UQm>j8Dhs4qb4zRe4`dFWw zCOJ9QCy(=*XZIkcnx)5b5L1l#WfJG;Y|!%(adcJQ%Ro9Y^+Sz73tm>MVQCMB9B=_Z+&r5Kv0SQsQHnNHrtWL^(6s=&&* zC^fMp)dh%cm4NOw)-|vIIyS`6)XLb<%FsgFz{1MF0Ay={m2ZAZW?ChhQi~8n6DtE# zD+4nWrKu%}DTyVC_!LKh4Ngh6O3N?GO)Rlh%FInnPt`BTOIK2Wc?jsf{G9wEpv^$% z86%5(Iy(mx<)>xl040ip+?^CWU7gJgEzQhyjr0sBe_)ze4|KAxua!q;aY=qrrJaIJ zQA(OsaB3lxm6NFejt8s6X;6UVOu4~l>DSrg#cLGDi{I%qM+fMn4Fmhifv7p@yQv9dFiPs zwo3X+`ndd4PtZfeBovs9Ko6n$2QAhy{1ZZfhx8F~rH>Mglk1or>enVWJYryATJP!N z7?RQW_LhH#Z=lS9kLPDg{!jbU`{(TZULi5ARuRvQY8wSp6VqE;C+VadJ{RQK>3B^; zJ2LXd3?(tCnVj79pVaHqo<+{l?*IO-w!G;6p6cbl*WRvOU%cz@zW4J!TYvv|Zgt4& z(8m+|%GfVxd2L)2*d^KSAB$-loKw17$Hsp6-a4bYxcn({TgS%L4!V^K_0#=^T^n`Ey&- zGsoQT+Lxc5i_;~!`)Hu=c6>s$683cMrEa$EIUYpzANYJJlK z$HgMIrRKI5$Xqw(`Bc9{OQkp4=})v&sh8Jx+l!SBCmbpl@i$+5KF>||(wgLWlNobz z(s#6%H0C@y)#AEC+fm0i z?2U+=&1aYGJeO>L&QA7yEV(`Z!qSL~8b`a_G{a1Q0ceB-h0v+ES0h-iX^77VCaj SxIBRY2s~Z=T-G@yGywpXAaF1M delta 476 zcmV<20VDp)6Nd_rBqkYjMObuGZ)S9NVRB^vL1b@YWgtmyVP|DhWnpA_ami&o000AU zkvfbgH7+(SV=**1AU8QKF*YglFM9F3`n5@2o(I+ta0#X)>MF!b? z0v|vrf38Q}K}x;lmG_>Wx1QAPsPjAjIvqa@L(j!Zc#alfgb_vK zBaE=$-Me0DhpYtc(nvQ>ur)H0TqxoO>ql{Jk4=%>TY4_+u`JSf`&MvE0al5^}F|1X~BdGWk@UOb=g-HT4vVxk~XK0ZD%TN^9a{Y3mnBEtKQ z%hxsF;{*8FT3NV97cUnd40ZRAChbA>mmO+Y^ePEinHOo_?aYm!X%ccDz0}fd%n1qh zc}emaN#+@18t?YfoCF5`bD-YDI(r4bN;#@9J+3fn|CNYJ!Bkf+6Ge;2Ry} zAQ+3sHi=&;j#@QcFhj>TG|C&G5HDzr7-I5>FtAcg7OtqBVT6#!KGU5<`oCZ>|7S7b zfSuOOo~Z<;EjSYCfl;1IZC9x-ya7O6A(r7z%rsCGJ=$^j-tNPukXLYVOIC`X>J{(d zrzIlQB#|={UfJLZY{x8${P4>0iV~6e9u7wOIT8UcVh(qg1iU!X=}zqb_&(<|YRe_d z*}=s3o#9!j#3&X%DP;3=K-aX$-ipBYw!5e;gTW>o@SbU##BLd{DG2@*mA-$HBO}{3|HKmo+s1V{lcur-ibz=?d4R3^`ln)l20(~O)g$TXV1{}Kc>%I zSp0#Tb8J?8&nwbOG0`$zVBwlLC{)BX<5~ZfM$?$8~>zc z<+6?aHPTHt9QvDks`z?!$!naQTCi?+Kht_OQT>$LAL8+}O24~>qD(cDp1Dymf#0kZ zc+cY*l;d&xnJ#aRmh$mQ(j&%@|4z2al9A>u6^w)fBt_kOMNtFw%-`91M&Kn42Ejt! z51y`x%|nD)9m0#RWM(8@va?CgHr;?tz~<61O^Obc58zfYk8-<#>c0A6@+T_>uRlX~ zehI%4DfF^VEt;dt9J?;L{C%oHuAq4h6e{1>zM(}+`jT|!Xe1;)0n9s>Nl}o&MDyG{ z?=XEoI3Bkh2-dC7Rl0NfOP>3ykd^LJoH$&S*SzqC$7~l9I?^($KYr~{in3GUwlI}3 z-mZ-&PTPA{?9vPa>F^>m8t`EyZVW!&Tzr1J5t4=w!~fE80VfK9TGMCFD`UyML(^Gl zLg#A>I;1nHM$fqH87d(3LTl)4j?vkO=y;W5XL#Knls`+Bqh{-{DVyqoto1@OZLb=n z;iI3y{Zi`yPTbPYeK1sfQ5fO9MjGhGnX@gO5MuL>wn_KgD|fkudkV5cfMlRuwClLq zWlT-x5nrNyZdQk$Rt*dsA<2u(No_N_{GmOu(ehyMv|0z8+;@+^>Z`;?p z%>=h1d(O@|L(oCIfX}h6`*Wff!;EyU{&aKmGW`9bRSC@V!_fK;QW=ToHVK+a5$f2e$iT$G+Z&n@y$%Re*vfn3KdvAZ0!s>&-JiM=}_ zSe|@w=O^v!Un*BETrCC;GtS=Tn&WS2o=G{JP>;5-nr8W}34s{AFY*xz`$_M)gpl`%&_R@o;fTljXBkB1QyjdTvUGTk)jvGDw&eEEQu zjJK&DmKfjb%R1UO@>C_)Ir)9_?19ML%o`ESv#}nYl(;A@*MEdz2{vo`aDb$MMH2O! z#O87~%-$Lx1um7fDr(nEe=b+yGxjJ~&tl8Cvm?L|xHGExf64S;k!8#GM*t-lC*=>} R_unTjpX~)FtEZMo!oMw8us{F+ literal 0 HcmV?d00001 diff --git a/static/pay/wechat.png b/static/pay/wechat.png new file mode 100644 index 0000000000000000000000000000000000000000..c7844b19a355b18041268a78dd399cb722331f2d GIT binary patch literal 2513 zcmb7G=|2;W16JQ0BiG!tl&ofR%TcZ{b5=H%F)_y&;VaBFSHstxGe^>L6$&|Xg%Juf z$JbTlzOPUdIevcs!SDCtd7jVn;(1;@FP>Pldj_2BqU=meOq@oBaMYP%{tGsiGk*L` z{w5O>Aj=4@V-fITGZ$cCF(%S|`j^s%ytG6-$6GA?PJAjY>!yNo2?vS~?512vxOsJD zhmbHDhjrsCxKS%;n^e#hLNQUYh_ufu6^MsoK2Op{0YPP#?^$cUAO@)sKuC;b_~cicg^|U|3bI|x@HYE8I}&3TzV>>J zbtWd9>%PdZs_iISu8#@>fjlg09lUe==S>p9{-j0DMKz?~MePg<0;La>wS0)M(ksb# z%+QTy8+G*+o@3lZkPwQMEp?%~hYb?}d_vISWM{Rc;l(#z#lNpWMPZRYM+BV(OfwH5 zbT)X!ru%ySSaB=! za2vyo*r9n0b1!OB!-ZVEXbOnmg_~nIJb2DbEP=T3TvD0RpmJMXQc7{w&yL6X6-lg;69+Pywr%_ z-L9Zp^&!*Jg}$g~QAC5^Da_0f zgxllTpCNCZHOe#(36OYUH|vmEZmc1S2yALU%+7Z5Op|@+yU_blY4Nk zZrMZW7D!{v6|%(Ar&nwq#_)+ThagDsDx%_9!7GyW;-7meUjXf+c7w%V3-miM4N~^b-;I#+@Imx zRqEDc2DEtMNwOUS_vks70Gp;1uR!3mP{@tILYsI^7zYd<*eY=lGNC;7xNzb954KU6 zD!2043d>B#@%ws@Uj?)pHOx2LQOn=L+@EU)eMLELG_=2 z-SZ^C7otfbsf^$50g2ixgpHYuOHFC^>6R0dJ6bjaruPJGU#J&io8B2 zoXr`E04dcp@CO5bzprcwx5TIq*wUkw^#6|58s|xkVSd8VFgGljb)&OWnf1@-m<*(? z=VN-2VMR+E3~lLo`qERkra0`&BkBC6`yQ4OKbBeeE-Abysfzw6t1IxQVWM>stpKQka$lt=xX)X?_or=_O z0jQMEsquFGI5Csew`{W18nM*g?aAm_nQ2T~nVC#SelLfDmg^<1%p)&SpnkT!@dL!m z*fy7m_3iACS98zq=3(W#*70>#$sCD!`8q*8lt*#(W`R#Y;Wo~PG+hMo_P6zEP7n`1 zM9SAN);x~;g;JqJXR?F0CW!-Ug6;be$TuAFz24E_y3n-*NU>b!s- zRtBjK$q4dU5z<{CcPfUrAL@SDo(Gz$W;;VN6P))dr%lUY?N-YPV9m_=V=Y*N%K6PG z@~%G785sQWdOR)37&tH1+fGKkl3dR?!R|EDePWze6;O=-@14z1F^OJ$s`n zdH8|mwgc%ZqBdkjv1HxJ{o+J|{P7+AZu__(M@_#450~kp_K?im*4~k5Stx*c`*f59 zwjp|Y)EWO0v=IFfN%y*drHS@p}l18i_rcYf^W8eCEM>67q7 zxFn!;-+^?ZvPJgvq}G`Jsq;!oo^vj(auwks4mL=XFQY!~oA3l(Q|g?Et5!3sq5L_{ zVDNd&2TYr;>vBK3e}oY4(qu9pXbF22%7gu@3EMC~^&N(hd^&V{De?hVwOpT*7;MWi z1$$&bM+XCsq)bYVS}UQB;0J}Ru=Qf6F;=9FDkC^y!SFPqzjEjrCZ`s`fCxyn*brF5{vDZxFfIxX@Nvg?~^zbgMX`wntEJsO&pO9VHdiz#_z_E z@iZwe_qW@zJ!--Uk!-V75KHit6!W^-$C)?29{E4l?Gf$qD%m{`i~d!)hp)7S$`<~9 zZ$YpvV$Tz+RmIRQpwTa(>amlJHW?{fY?17Y8iqp@*8=JXP`^t*=q2skcg6IHQjI vrk4u`%CAo3E|8JhMC1Se;6O2wOed@x=-1;e6Cz$`SB=R?{~o+t7f1dN>+-oa literal 0 HcmV?d00001