From 5cbf44429ab9ca3c1a3499d7bf54a2da9e7391bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=BD=87?= Date: Sat, 22 Feb 2025 03:14:42 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=80=E5=A4=A7=E6=B3=A2=E7=BB=86=E8=8A=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .cloudbase/container/debug.json | 1 + api/common.js | 12 +- api/request.js | 30 +-- api/user.js | 5 +- app.js | 70 ++++++- app.json | 34 ++-- app.wxss | 98 +++++++--- assets/icon/help/arrow-down.png | Bin 0 -> 214 bytes assets/icon/help/arrow-down@2x.png | Bin 182 -> 0 bytes assets/icon/help/delete.png | Bin 0 -> 725 bytes assets/icon/help/delete@2x.png | Bin 576 -> 0 bytes assets/icon/help/house.png | Bin 0 -> 1594 bytes assets/icon/help/house@2x.png | Bin 1107 -> 0 bytes assets/icon/help/icon1.png | Bin 858 -> 1164 bytes assets/icon/help/icon2.png | Bin 981 -> 1269 bytes assets/icon/help/icon3.png | Bin 1074 -> 1085 bytes assets/icon/help/images.png | Bin 0 -> 1096 bytes assets/icon/help/plus.png | Bin 0 -> 373 bytes assets/icon/help/plus@2x.png | Bin 434 -> 0 bytes assets/icon/my/avatar.png | Bin 0 -> 17919 bytes assets/icon/my/friend-empty.png | Bin 0 -> 4820 bytes assets/icon/my/login-bg.png | Bin 0 -> 6026 bytes ...tab1-active@3x.png => _tab1-active@3x.png} | Bin .../icon/tabs/{tab1@3x.png => _tab1@3x.png} | Bin assets/icon/tabs/tab1-active.png | Bin 0 -> 900 bytes assets/icon/tabs/tab1-active@2x.png | Bin 944 -> 0 bytes assets/icon/tabs/tab1.png | Bin 0 -> 644 bytes assets/icon/tabs/tab1@2x.png | Bin 2166 -> 0 bytes .../{tab2-active@3x.png => tab2-active.png} | Bin assets/icon/tabs/tab2-active@2x.png | Bin 1181 -> 0 bytes assets/icon/tabs/{tab2@3x.png => tab2.png} | Bin assets/icon/tabs/tab2@2x.png | Bin 1921 -> 0 bytes .../{tab3-active@3x.png => tab3-active.png} | Bin assets/icon/tabs/tab3-active@2x.png | Bin 565 -> 0 bytes assets/icon/tabs/{tab3@3x.png => tab3.png} | Bin assets/icon/tabs/tab3@2x.png | Bin 1605 -> 0 bytes .../{tab4-active@3x.png => tab4-active.png} | Bin assets/icon/tabs/tab4-active@2x.png | Bin 1019 -> 0 bytes assets/icon/tabs/{tab4@3x.png => tab4.png} | Bin assets/icon/tabs/tab4@2x.png | Bin 2199 -> 0 bytes components/address/index.js | 148 --------------- components/address/index.json | 5 - components/address/index.wxml | 43 ----- components/address/index.wxss | 42 ---- components/listView/index.js | 34 +++- components/listView/index.json | 3 +- components/listView/index.wxml | 2 +- components/listView/index.wxss | 9 +- components/navbar/index.js | 3 + pages/help/address/edit/index.js | 13 +- pages/help/address/edit/index.json | 1 - pages/help/address/edit/index.wxml | 95 ++++++---- pages/help/address/edit/index.wxss | 48 ++--- pages/help/address/index/index.js | 8 +- pages/help/address/index/index.json | 1 - pages/help/address/index/index.wxml | 7 +- pages/help/address/index/index.wxss | 5 + pages/help/community/index.js | 3 +- pages/help/community/index.wxml | 7 +- pages/help/community/index.wxss | 7 +- pages/help/index/index.js | 45 ++++- pages/help/index/index.wxml | 21 +- pages/help/index/index.wxss | 28 ++- pages/help/package/index.js | 41 ++-- pages/help/package/index.wxml | 44 +++-- pages/help/package/index.wxss | 32 +++- pages/help/success/index.wxml | 2 +- pages/help/success/index.wxss | 10 +- pages/index/index.js | 49 ----- pages/index/index.json | 4 - pages/index/index.wxml | 33 ---- pages/index/index.wxss | 62 ------ pages/login/login.js | 40 ++-- pages/login/login.wxml | 11 +- pages/my/coupon/index.js | 2 + pages/my/coupon/index.wxml | 15 +- pages/my/coupon/index.wxss | 12 +- pages/my/firend/index.wxml | 4 +- pages/my/firend/index.wxss | 13 ++ pages/my/index/index.wxml | 34 +++- pages/my/index/index.wxss | 41 ++-- pages/my/money/index.wxml | 43 +++-- pages/my/money/index.wxss | 4 +- pages/my/setting/{ => index}/index.js | 41 ++-- pages/my/setting/{ => index}/index.json | 0 pages/my/setting/{ => index}/index.wxml | 13 +- pages/my/setting/{ => index}/index.wxss | 13 ++ pages/my/setting/name/index.js | 95 ++++++++++ pages/my/setting/name/index.json | 4 + pages/my/setting/name/index.wxml | 5 + pages/my/setting/name/index.wxss | 14 ++ pages/order/detail/index.js | 44 ++++- pages/order/detail/index.json | 4 +- pages/order/detail/index.wxml | 179 ++++++++++-------- pages/order/detail/index.wxss | 36 +++- pages/order/index/index.js | 7 - pages/order/index/index.json | 2 +- pages/order/index/index.wxml | 13 +- pages/order/index/index.wxss | 7 +- 99 files changed, 971 insertions(+), 830 deletions(-) create mode 100644 .cloudbase/container/debug.json create mode 100644 assets/icon/help/arrow-down.png delete mode 100644 assets/icon/help/arrow-down@2x.png create mode 100644 assets/icon/help/delete.png delete mode 100644 assets/icon/help/delete@2x.png create mode 100644 assets/icon/help/house.png delete mode 100644 assets/icon/help/house@2x.png create mode 100644 assets/icon/help/images.png create mode 100644 assets/icon/help/plus.png delete mode 100644 assets/icon/help/plus@2x.png create mode 100644 assets/icon/my/avatar.png create mode 100644 assets/icon/my/friend-empty.png create mode 100644 assets/icon/my/login-bg.png rename assets/icon/tabs/{tab1-active@3x.png => _tab1-active@3x.png} (100%) rename assets/icon/tabs/{tab1@3x.png => _tab1@3x.png} (100%) create mode 100644 assets/icon/tabs/tab1-active.png delete mode 100644 assets/icon/tabs/tab1-active@2x.png create mode 100644 assets/icon/tabs/tab1.png delete mode 100644 assets/icon/tabs/tab1@2x.png rename assets/icon/tabs/{tab2-active@3x.png => tab2-active.png} (100%) delete mode 100644 assets/icon/tabs/tab2-active@2x.png rename assets/icon/tabs/{tab2@3x.png => tab2.png} (100%) delete mode 100644 assets/icon/tabs/tab2@2x.png rename assets/icon/tabs/{tab3-active@3x.png => tab3-active.png} (100%) delete mode 100644 assets/icon/tabs/tab3-active@2x.png rename assets/icon/tabs/{tab3@3x.png => tab3.png} (100%) delete mode 100644 assets/icon/tabs/tab3@2x.png rename assets/icon/tabs/{tab4-active@3x.png => tab4-active.png} (100%) delete mode 100644 assets/icon/tabs/tab4-active@2x.png rename assets/icon/tabs/{tab4@3x.png => tab4.png} (100%) delete mode 100644 assets/icon/tabs/tab4@2x.png delete mode 100644 components/address/index.js delete mode 100644 components/address/index.json delete mode 100644 components/address/index.wxml delete mode 100644 components/address/index.wxss delete mode 100644 pages/index/index.js delete mode 100644 pages/index/index.json delete mode 100644 pages/index/index.wxml delete mode 100644 pages/index/index.wxss rename pages/my/setting/{ => index}/index.js (75%) rename pages/my/setting/{ => index}/index.json (100%) rename pages/my/setting/{ => index}/index.wxml (72%) rename pages/my/setting/{ => index}/index.wxss (51%) create mode 100644 pages/my/setting/name/index.js create mode 100644 pages/my/setting/name/index.json create mode 100644 pages/my/setting/name/index.wxml create mode 100644 pages/my/setting/name/index.wxss diff --git a/.cloudbase/container/debug.json b/.cloudbase/container/debug.json new file mode 100644 index 0000000..0d44458 --- /dev/null +++ b/.cloudbase/container/debug.json @@ -0,0 +1 @@ +{"containers":[],"config":{}} \ No newline at end of file diff --git a/api/common.js b/api/common.js index addad33..edb7e7f 100644 --- a/api/common.js +++ b/api/common.js @@ -20,21 +20,13 @@ export default { delete:(address_id)=>request.delete(`/api/address/${address_id}`) }, building:{ - list(community_id){ - if(!app){ - app = getApp(); - } - const data = { - community_id, - user_id:app.globalData.userInfo.userid - } - return request.get('/api/community/building/list',{community_id}) - } + list:(community_id)=>request.get('/api/community/building/list',{community_id}) }, station:{ list:(community_id)=>request.get('/api/station',{community_id}) }, uploadImg(file){ + if(!app)app = getApp(); return new Promise((rs,rj)=>{ wx.uploadFile({ filePath: file.tempFilePath, diff --git a/api/request.js b/api/request.js index 41c6d12..2e02806 100644 --- a/api/request.js +++ b/api/request.js @@ -7,20 +7,26 @@ const sendRequest = (options)=>{ wx.request({ url: `${baseUrl}${options.url}`, success:(result)=>{ + //Http Request的状态 if(result.statusCode==200){ + //后端的自定义状态 if(result.data.code==200){ rs(result.data.data); }else{ - wx.showToast({ - icon:'error', - title: result.data.message, - }); + if(!options.options.noTips){ + wx.showToast({ + icon:'error', + title: result.data.message, + }); + } rj(result.data); } }else if(result.statusCode==401){ wx.navigateTo({ url: '/pages/login/login', }) + }else{ + rj(result.data); } }, @@ -42,16 +48,16 @@ const sendRequest = (options)=>{ export default { baseUrl:baseUrl, - get(url,data){ - return sendRequest({url,method:'get',data}); + get(url,data,options){ + return sendRequest({url,method:'get',data,options:options||{}}); }, - post(url,data){ - return sendRequest({url,method:'post',data}); + post(url,data,options){ + return sendRequest({url,method:'post',data,options:options||{}}); }, - put(url,data){ - return sendRequest({url,method:'put',data}); + put(url,data,options){ + return sendRequest({url,method:'put',data,options:options||{}}); }, - delete(url,data){ - return sendRequest({url,method:'delete',data}); + delete(url,data,options){ + return sendRequest({url,method:'delete',data,options:options||{}}); } } \ No newline at end of file diff --git a/api/user.js b/api/user.js index 74116c6..487843f 100644 --- a/api/user.js +++ b/api/user.js @@ -35,7 +35,10 @@ export default { DELIVERY_AT_DOORSTEP:"放在门口", DELIVERY_TO_ROOM:"敲门递件" }, - pre:(data)=>request.post('/api/order/pre-order',data), + /** + * noTips:存在未支付的订单,不需要 toast,然后弹窗跳转订单详情 + * */ + pre:(data)=>request.post('/api/order/pre-order',data,{noTips:true}), real:(data)=>request.post('/api/order',data), list:(data)=>request.get('/api/order/user/list',data), cancel:(orderid)=>request.post(`/api/order/${orderid}/user/cancel`), diff --git a/app.js b/app.js index 297dec2..edfd2ce 100644 --- a/app.js +++ b/app.js @@ -3,7 +3,8 @@ import commonApi from './api/common'; let token = wx.getStorageSync('accessToken'); console.log(12); App({ - onLaunch() { + onLaunch(options) { + console.log(options); wx.getStorage({ key:'accessToken', success:(res)=>{ @@ -12,7 +13,7 @@ App({ }) }, navToLogin(){ - wx.navigateTo({ + wx.reLaunch({ url: '/pages/login/login', }) }, @@ -98,6 +99,71 @@ App({ }, } }, + validateForm(rules,page){ + const result = []; + for(var key in rules){ + ((rules[key] instanceof Array)?rules[key]:[rules[key]]).map((item)=>{ + let valid = true; + let value = (page.data[key]+'').trim(); + //非空 + if(item.required){ + if(value==''){ + valid = false; + } + }else if(item.length){ + //绝对长度 + if(value.length!=item.length){ + valid = false; + } + }else if(item.type=='phone'){ + if(value.length!=11){ + valid = false; + } + }else if(item.maxLength||item.minLength){ + if(value.length>(item.maxLength||Infinity)||value.lengthitem.autoFocus); + if(focusInput){ + page.setData({ + [`${focusInput.key}Focus`]:true + }) + } + const shakeInput = result.find((item)=>item.shake); + if(shakeInput){ + if(!shakeInput.animation){ + shakeInput.animation = wx.createAnimation({ + duration: 20, + }) + } + shakeInput.animation.translateX(10).step(); + shakeInput.animation.translateX(-10).step(); + shakeInput.animation.translateX(10).step(); + shakeInput.animation.translateX(-10).step(); + shakeInput.animation.translateX(5).step(); + shakeInput.animation.translateX(0).step(); + // needSetData[`${key}Animation`] = item.animation.export(); + page.setData({ + [`${shakeInput.key}Animation`]:shakeInput.animation.export() + }) + } + return result; + }, getAddressList(){ } diff --git a/app.json b/app.json index 7340bb6..421a8f2 100644 --- a/app.json +++ b/app.json @@ -4,7 +4,6 @@ "pages/shop/index/index", "pages/order/index/index", "pages/my/index/index", - "pages/index/index", "pages/login/login", "pages/logs/logs", "pages/help/package/index", @@ -20,9 +19,10 @@ "pages/my/coupon/index", "pages/my/money/index", "pages/my/firend/index", - "pages/my/setting/index", + "pages/my/setting/index/index", "pages/shop/bill/index", - "pages/shop/bill_success/index" + "pages/shop/bill_success/index", + "pages/my/setting/name/index" ], "window": { "navigationBarTextStyle": "black", @@ -33,31 +33,25 @@ "color": "#222222", "selectedColor": "#FFC300", "backgroundColor": "#ffffff", - "borderStyle": "white", + "borderStyle": "black", "list": [ { "pagePath": "pages/help/index/index", - "text": "帮忙", - "iconPath": "assets/icon/tabs/tab1@3x.png", - "selectedIconPath": "assets/icon/tabs/tab1-active@3x.png" - }, - { - "pagePath": "pages/shop/index/index", - "text": "省钱", - "iconPath": "assets/icon/tabs/tab2@3x.png", - "selectedIconPath": "assets/icon/tabs/tab2-active@3x.png" + "text": "蜂快", + "iconPath": "assets/icon/tabs/tab1.png", + "selectedIconPath": "assets/icon/tabs/tab1-active.png" }, { "pagePath": "pages/order/index/index", "text": "订单", - "iconPath": "assets/icon/tabs/tab3@3x.png", - "selectedIconPath": "assets/icon/tabs/tab3-active@3x.png" + "iconPath": "assets/icon/tabs/tab3.png", + "selectedIconPath": "assets/icon/tabs/tab3-active.png" }, { "pagePath": "pages/my/index/index", "text": "我的", - "iconPath": "assets/icon/tabs/tab4@3x.png", - "selectedIconPath": "assets/icon/tabs/tab4-active@3x.png" + "iconPath": "assets/icon/tabs/tab4.png", + "selectedIconPath": "assets/icon/tabs/tab4-active.png" } ] }, @@ -67,8 +61,10 @@ "lazyCodeLoading": "requiredComponents", "permission": { "scope.userLocation": { - "desc": "你的位置信息将用于小程序位置接口的效果展示" + "desc": "将获取你的位置,用于为你提供配送服务" } }, - "requiredPrivateInfos": ["getLocation"] + "requiredPrivateInfos": [ + "getLocation" + ] } \ No newline at end of file diff --git a/app.wxss b/app.wxss index c1860e7..fab7292 100644 --- a/app.wxss +++ b/app.wxss @@ -1,14 +1,15 @@ -@import '/assets/style/weui.wxss'; page{ font-size:32rpx; line-height: 1; - --main-font-color:#222222; + --main-font-color:#000000; --main-bgclolor:#F5F5F5; --main-color:#FEC400; --main-hover-color:#fcce39; color:var(--main-font-color); background-color:var(--main-bgclolor); overflow: hidden; + min-height: 100vh; + box-sizing: border-box; } button{ @@ -34,30 +35,40 @@ button:not([size=mini]) .icon{ button[type=primary]{ background-color:var(--main-color); - color:#222222; + color:var(--main-font-color); } + +button[type=primary]:not([disabled]).button-hover{ + background-color: var(--main-hover-color); + color:var(--main-font-color); +} + button[plain]{ border: 1rpx solid rgba(255, 195, 0, 0.5); color: #FFC300; } -button:not([plain])[type=primary]:hover{ +/* button:not([plain])[type=primary]:hover{ background-color:var(--main-hover-color); -} + color:var(--main-font-color); +} */ button[type=default]{ - color: #333333; + color:var(--main-font-color); font-size:32rpx; line-height: 1; } +button[type=default].button-hover{ + color:#666; +} button[type=primary][plain]{ border-color: var(--main-color); color:var(--main-color); padding:28rpx 25rpx; } -button[type=primary][plain]:hover{ +/* button[type=primary][plain]:hover{ border-color:var(--main-color); color:var(--main-color); -} +} */ button[loading][type=primary] { background-color:var(--main-color); color: hsla(0,0%,100%,.6); @@ -84,8 +95,8 @@ radio-group label+label{ } radio{ - width: 34rpx; - height: 34rpx; + width: 17px; + height: 17px; position: relative; } radio .wx-radio-input{ @@ -94,7 +105,6 @@ radio .wx-radio-input{ box-sizing: border-box; width: 100%; height: 100%; - line-height: 20px; position: absolute; top: 0;left:0; } @@ -102,16 +112,16 @@ radio .wx-radio-input.wx-radio-input-checked{ background-color:transparent; border-color: var(--main-color); } -radio .wx-radio-input.wx-radio-input-checked::before{ +radio .wx-radio-input.wx-radio-input-checked::after{ content: ''; position: absolute; - width: 22rpx; - height:22rpx; - left:4rpx;top:4rpx; + width: 11px; + height:11px; + left:2px;top:2px; border-radius: 50%; background: var(--main-color); transform: none; - -webkit-transform:none + -webkit-transform:none; } checkbox .wx-checkbox-input{ width: 40rpx; @@ -132,7 +142,7 @@ page-container .content{ padding:30rpx; margin:20rpx; } -.page-container.shadow{ +.page-container.shadow,.cells.shadow{ box-shadow: 0px 6px 6px 1px rgba(0, 0, 0, 0.05); } @@ -153,10 +163,10 @@ page-container .content{ border-color:#FFC300; } .spliter{ - border-bottom: 1px solid rgba(153, 153, 153, 0.2); + border-bottom: 1rpx solid rgba(153, 153, 153, 0.2); } .spliter.dashed{ - border-bottom: 1px dashed rgba(153, 153, 153, 0.2); + border-bottom: 1rpx dashed rgba(153, 153, 153, 0.2); } .money,.money-promation,.money-normal,.money-disable{ font-size: 36rpx; @@ -192,12 +202,14 @@ page-container .content{ } .bottom-bar{ - border-radius: 24rpx 24rpx 0 0; - padding:34rpx 40rpx; + padding:24rpx; position:fixed; bottom:0; left:0;right:0; background-color: #fff; + border-top: 0.5px solid rgba(153, 153, 153, 0.2); + padding-bottom:calc(constant(safe-area-inset-bottom) + 24rpx); + padding-bottom:calc(env(safe-area-inset-bottom) + 24rpx); } .custom-scroll-view{ height:100vh; @@ -209,10 +221,11 @@ page-container .content{ overflow: auto; } .bottom-bar-v2{ - border-radius: 24rpx 24rpx 0 0; - padding:34rpx 40rpx; + padding:24rpx; background-color: #fff; - text-align: right; + border-top: 0.5px solid rgba(153, 153, 153, 0.2); + padding-bottom:calc(constant(safe-area-inset-bottom) + 24rpx); + padding-bottom:calc(env(safe-area-inset-bottom) + 24rpx); } .cells{ @@ -225,7 +238,6 @@ page-container .content{ display: flex; align-items: center; padding:0 40rpx; - min-height: 116rpx; font-size: 30rpx; position: relative; } @@ -234,30 +246,50 @@ page-container .content{ } .cells .cell::after{ content: ''; - border-bottom: 1rpx solid rgba(153, 153, 153, 0.2); + border-bottom: 1.2rpx solid rgba(153, 153, 153, 0.1); position: absolute; bottom:0; left:40rpx; right:40rpx; } -.cells .cell:last-child::after{ +.cells .cell:last-child::after,.cells .cell.no-border::after{ border:0; } .cells .cell-hd{ margin-right:20rpx; } +.cells .cell-hd.not-empty::before{ + content: '*'; + color: #EB0000 +} .cells .cell-hd .icon{ width:40rpx;height:40rpx; vertical-align: middle; } .cells .cell-bd{ flex:1; + display: flex; + align-items: center; + position:relative; + min-height: 116rpx; } -.cells .cell-ft{ +.cells .cell-bd .error{ + color:red; + position: absolute; + left:0;bottom:10rpx; + font-size: 24rpx; +} +.cells .cell-bd input{ + height:100rpx; +} +.cells .cell-ft,.right-arrow{ position: relative; - padding-right:40rpx; + color:#999; } -.cells .cell-ft::after{ +.cells.cells-access .cell-ft,.right-arrow{ + padding-right: 40rpx; +} +.cells.cells-access .cell-ft::after,.cells .cell.cell-access .cell-ft::after,.right-arrow::after{ content:" "; width:24rpx;height:48rpx; -webkit-mask-position:0 0; @@ -333,4 +365,10 @@ navigator button{ } .page-dispatch{ height:40rpx; + width:100%; +} + +.navigator-hover{ + background-color: transparent; + opacity: 1; } \ No newline at end of file diff --git a/assets/icon/help/arrow-down.png b/assets/icon/help/arrow-down.png new file mode 100644 index 0000000000000000000000000000000000000000..5b4095cc6f88e9bd4bb7aeb76212b939ce548718 GIT binary patch literal 214 zcmeAS@N?(olHy`uVBq!ia0vp^;y}#L!3HANhlBws#^NA%Cx&(BWL^R}EX7WqAsj$Z z!;#Vf?R~K*# zG$tS56y9LiCYvDl;n$443^UFZeg4z-TBU5M?N7Ij`knetODm=x2@wAw7GUh4?N`Gx zNiL?T23lAg)_2zNN!;NtASIs0i?^+Oh~j@4DN(k6F+Zej3r^>bP0 Hl+XkK+e$?h literal 0 HcmV?d00001 diff --git a/assets/icon/help/arrow-down@2x.png b/assets/icon/help/arrow-down@2x.png deleted file mode 100644 index da1447731ccee0a66e5f486e6ee2fa5cdb7cd738..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 182 zcmeAS@N?(olHy`uVBq!ia0vp^{6Ngb!3HF=rCELgDaPU;cPEB*=VV?2IV{Cao*^7S zP{WbZ0purmx;TbtOiWHlNZ4`yz=03*d1~f$HZ~?IGFLLJ%eU>^w$9zmwSndN{q|Mv zj9ffCJnuO(YWPFjMO6eY%yH0AkSfS{qrOCt?c3taJN|3j*w{MuCoopbXY9A~t diff --git a/assets/icon/help/delete.png b/assets/icon/help/delete.png new file mode 100644 index 0000000000000000000000000000000000000000..03fc5d126061ad833fb1ba1b49136ca0eeaff824 GIT binary patch literal 725 zcmV;`0xJE9P)Px#1am@3R0s$N2z&@+hyVZre@R3^RA_U3_cjhoHp06<4XVgMkSk-Q#{$Fn+Pn>wAhTCF~S3jiIG3CRRNS41Y(+PKcxwF)Eo zWy`I&-EMd4j9sg+L-H=i(lkw6Iak#QfQ?T^L{5z{PcGsNhr{fh|HVa`rb(XX4@Dk$ zg@|Ovn3Gk3%U4lVuY42*03?$<&j+h(OJR$0d@L-58DlO*Bs<_<{uvR;NM65LTQ^!1 zk37#iBqyu)NS-trjjU>5RgI%4ii_*#D2kq|`Y5Bcc&wAAX;)PrR@b5^`n<`>|H#qy zv7;5%aOte*h2Kg39F0bId)Qt8`1JbvdOe*^OY?5wJJ0jqFCv3puXnp^KhA`a?5=(Oy3Mwzyqy)> zr0l0$v)Qx&mVH)4y4!3QI1^@!dDGwz-SCgLcm!d-5rp|h5at^}m~RAOz7d4^MiAy3 zL6~m@VZITB`9=`t8!m;tnJ1H+Z8IDWhuPXJ?)l~A#p!6tnXvo&`zguA@bGRvpI?^Q zlRO15127|by6eCDsyH1=6vKj@0|NjUjYdxZPF%)cCFB_JcjQ{vM#>;rIc}v_QAEzu zG8g2q*nd_s6zvD@C64`00000NkvXX Hu0mjfx~@}h literal 0 HcmV?d00001 diff --git a/assets/icon/help/delete@2x.png b/assets/icon/help/delete@2x.png deleted file mode 100644 index 8c524c49f692f5950b36484f6a693051449a4082..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 576 zcmV-G0>AxPx#1am@3R0s$N2z&@+hyVZq>PbXFR9J=Wm_KsUKop06&t^O>?Gxbi%+S(BH$cqD z@^*w1*eR&P4a^PVbefe4a{}N7;RdFsa6z}y`%%QsD9RGWe?&5jzDn9Bz5RA~c1KUZ zGeZtdFdmQ30Gt8<$*U~OzCD@HM&`2I=A0WYm&^6OIXj04iO8th*6;TR2j$#eL{SuM zJ0LmecDqp32S+L*Z%KxgwvQx#Jz79yZLMA25i-UEMNxcxY?5OmB1>!SJ7BY9d7eL& z3jl!R?MmD(nK33%)qvzFfB?8L2k@gw8C6~9dA`_ggnPRzj^j@xFE+Oy(llK(DOBa4 zUDgCIc74GZGg8&5s{YKf>~l39$8iYYeW%koPm*L+jYm;56Oq@>xpUunwet+A>XhV6 zMCQhrQ8^Zd;eg~N$xv12zQKsd9Kczx*PHqB?<_>JeDK{7+8l}l&vW;lC;9RyLQT^O z)zJ#o(F)bk3f0jH)zJ#o@qY;wMX`55_&4?u`VIghvP#qRx*SN7WF;ai03iA0p9rOC zx^T`7t+gkd^ex%7r|syF^j5^)|3h&cha{&>h-_x&s{F^}S@Q=}{>$j^)!DfK O0000Px#1am@3R0s$N2z&@+hyVZuNG<@I# z?+Wr(6YH1;b*=zdF_13HL(Kaog!K`JXT~Uwd9rNt#mA7b=YxuC{aAB|en zagqI8SfPY8V|I%P~9ml{VFGNJ2|V?0(I0dC$k7Dm{(oLjJn zp5Rg8NZMRm+*1diIX(_6ju1vMqlB(Yx-6wl7Z~JO=c|oYCYK|OsG5cO+yTv$VF%LY zI>qRPuFDv)AzPbmGg_}AtPeC%YajtzRyM=8QMmY=QKN})8~cA-t}E*P3b)ca<(hSZ zz6u^Sj-bLReP-jksB~`k_>8s+fW~?(Vw)FZwY0%t+jmxwhd$BdpgzaqyY5qLb*lggaZ- zm3YF&<=EXwf|V>C!VN11)H%=Mx;782C#(-960(yWQKc(iSY(W_iiHU`sd5i=Ezwzr zI&*z^;ShVmMjULGbti*K`8FQgqNwx`qi^=CDG5v9j2d2I03=*Wi<@}D6P^%@qp#AH zW4u&xPr!Cipc9_t#JI2wX`g*iZluMfu_1AZiz{uq+5NEbt#XVP)}{6!TN*YANR{u_ ztcxsG`Xz6@+g2GOBfj|5B-lx}tqiGr{$@n0K!l*a8>jXBB(2w9W2*5N z4(nnrjKsi2SfKpGXJK<4I;Df~^$(%}!f2`p)Oe<8X}C1?5yv7zU6dvjKA|`WO9K7+ zg|eWEm!=LTdh1c)o4Mz)i-JTr3NiN^$CmfGoO&8`OvAK0Pl29&RlyaBGCYI;=!~bt zp0CnR5=k4(DK@Eaiqa&laKF`G&NELQYzSxR=LW%m@-K=<)rjnxhS{tJLIdFwN&}&p ztIlk?fo0#De(CYpdotysBwe-PC3#peu-u_22ipn30i(G;?6W@5WX+KLZOg21QGUEt zZf(5*VD$P5`!$EWGmTJwNIU;^!6K1*sl@~Zr=}s5oqW)_b6N8Px#1am@3R0s$N2z&@+hyVZs{YgYYR9J=Wm|u?CNDzm=0?%q6xj~#0Eb|ymn7|1F zCkUJ%!wCjXz|09?P5?Q9Sqz#-$O+<{VEwofhRTB*#{Yn^VUbpMP{l``j_*0$k`bHUVRxn(=pEYV?YZeKw%F)PXTj zIda()i;ld*%RByAfa=l%?lVSx2ru9+@|%ayk{eb4I%kNcmw?pbOr=6#4i$A7r{Dw+ zXaL_)z5xA~o3PokG!F&v^)++l2Gj*ru2=%i#9tH2G!QaBaYMy4N`a){GFk zfPZYhTq)K$cPRJ7*PD;fr_6*64w`B&6X20B+V#lH9%UK;(fbOeSRE=lXJ8`p0w;J_ zTmulW%zy)EA`G$UkW6{Nk~MV$I?bB=qJEa>eRM?>j8v0pST{oQU`ei&nA~9gLu0sdzFeF-uNrl&X2sVmm9^zD#`;?eu%sXODHy*()&BVHxur?{(;2ebu?+>G_Jeft` zJpl)BZ{RvaD_Ln{Q9ZN%>H&cDYmKR7Kuu>QWu*By0512=GRHEbwQgg zA9O(*{`M@LV(81`O0nm(X3K`l*aBr_dN0Bm)XM*(!cq=t}lxbq| z4W<5?O`!zltg*9Kf+x3(E&w(~>FmKQs_Nn(3=t*-G?E38CCj`Oho<9-n59dBgM{b$q7$1ug zZxW8d<3)Ag)08)LuWLNg^&Eo=ve8;fd0T{ zOB47&+R*w4eR&@{d*lRks9@ocZOvB*t618FHvnv@pV(^)M=b^j=IopOR-lMhKv!yK z6k9~`Lz7F-yj!sgj5S4h%v%JflyYk(noZ#INzh$ef$60pb`mf)|AHzTY$UQik5ut* ZsUHi>pkc?ObT$A0002ovPDHLkV1hIC_nQC! diff --git a/assets/icon/help/icon1.png b/assets/icon/help/icon1.png index d532ac70e1d6700c3c200fb716da069567a92045..bd843f9ec8a8afcee47ec0c862eed9348ac2e69b 100644 GIT binary patch delta 1150 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 Uv@(LiGynhq07*qoM6N<$f(gl+3IG5A diff --git a/assets/icon/help/icon2.png b/assets/icon/help/icon2.png index df6bf7da5ccea317ee5907ebf34cbd8a91c53042..0e89c14648d84bc263e9d473e2b50294cf30b520 100644 GIT binary patch delta 1256 zcmV>7yNJt^L7Z5CAv_ zFl1&Qz|g6(kVGVExVT5Bh>*=)5B z%U;lN9M1vVG z<)bdkm6**EZ?^BM)l?dxWd@!~6^ZV`Fr4&*T9+{WSrC~@{KX$YQ2(qBuO&Nvg|K7KGj-# zy08E2LyN^Cu-3Y!nF>R?E%?oCAhTQm6Vd8ez;PU(5zz%RudTJ;woudQbQQ<(1AsHB z>MNzr02GU|WFACx;y&kjetisJt@RkdQvCE>DRtq#x7L>YG!dPND6v)L>qqGD`j9=V}z0WE(4oQjXV(xMeO^*pcUkE`QL_zR$H9wpPT);{#W zS*Q)zT6@|Q;Wdn3n1~DQ?ns-qT`x(JVUi?W5!*q)ZR1F}`(uhRRa0T5vO9Q?W!ZC< zWj~BDRfyhzw~{aye*hpSqE6`A)(HTz%6;i%ybJszz@qkw-vlEU;qfi zaP4{CC#BSB7>1|CkJ)}P#ymSG>rE6zzjt-mbfS@?SI`G=f0tTkdRMZgWyXU_wcde& zGW31vMP-LnMu8R_(i*)9d{vKt5|Z zNceJ0>S_a2ZUU+iq_y^wJ0S<%xk%b<4&Vaa*Ae?F1#n-@MN9hk34q_^wcd5RwS_05 zldeV7J|;=T+{>QODr3y3Db?G{J)(rMCuqJDN@e#;nfdQsw*O0Y%p2SPr2Yk4iq;5O SBvViT0000 zL_t(YiN%*sR^vtxhren&X3WYt!FX-}HxMTn=LCTz;msSoG>C_I7;7o!@eE6t696Z` zH^6g(h#P2y!Lhrt&>z|YGT7uLzm+Ui_gCFrT~&tvNivVIAD(zvCik^%gs(v3eG64@;M*dQX-z5UbxS%j2t{-A>B()B9RWMLvVJoawKs^~a5}{fpor ziW<{V?bcbv5V7rU=gZ(V?_K%fnI~$`^YH?4r9NIQ!%cbMWVG}&NVurhf5&TYg#vUt zn}bSyyeh~sfI@Tfuyk3rn^|#oru*p!IX>L^qy1LkOWF(j=c=redT`*Ld9mUkJZolw zlx@%B!F!+pl@H@KFeIJyYY;_6kQU%6cAqSIRm_V4@fP{L)0ThK4*-I8J3(x|Yw5Kt zgHgQnL9XUW1T)a1egJxjf3WZOPFn!o&X)lq>3rFa7GOU-^NN5{yyL%= zV)c9W*zm&>uK;7Mmm5`<$5-!#T4l{Ws+l>hc>;^!Bcws)4hW*C;fJR;`I)^H+S}b4 zx;8<(oe0D(%K#|S1W=LK9WWU!d8m2_`+H&kd=Y3ag#YXdTJGk8X4*OGujF=8_P$yl|N5*5 zl;Dou3@t0&YGViai|Ku>RW=Gbn{h?VTE0#1g%;qf2&9K^*Q>)u5 zoM*M5&{K74w-c0a+0T{fLoHeaTM@G+Mvg(Q$QJ@mElBmO1M$Pto4n-_fz5Z<(e+n?ZuQl`M*PFf3(s{XY z6V>Z-kmUA%jec1dF`s7|L>SsC8)m{SfG8V>yIU8pf(!5esl646vlQDbf2Y*m?)CbA zDl}d2v#oa3-Q5bRVpc`CaFd5ZGh5k837ViBRO{nUZhut~v*tp7y5h3@@XW*7^e+t3 oL`lRDTWjw`9CWzo-TzPZH=Fp_@m=MwMgRZ+07*qoM6N<$f>_qsE&u=k diff --git a/assets/icon/help/icon3.png b/assets/icon/help/icon3.png index 06a2af79de625543ba999aef8c5d5f66f1744eaa..5eb5699c9621ce4911ce1ad2c7cd49b7974428df 100644 GIT binary patch delta 1070 zcmV+}1kwAl2)zg)iBL{Q4GJ0x0000DNk~Le0000g0000g2nGNE0L8<}Tah6kf9FX= zK~z|U?U=oJ+b|G@zk?#0B{wiLL6{BV31V*`Z(ui)S;?;OkPVy(q79TxAZ3Cu6NKJC zr6fPXr7*xiG%5aAcA9(@N&LM$0EasedP*r3JU%{#%p7X1BO$~GW)1*^06;`5X3m)T z0YE+&46@;Hm|tICulkHfO%>8Ke~os#T_A*r0Gu*&L`0E+>Z6>9G5|S%2LQR&I*a2t zZw)G?422Nq%>0>%0%neS!gQ9IffW&DTI*lF@87%DFF?~YjhK1S*HT23*@4Wb(EMoF z7hG$75y$Zo0N&XGt@RwhK}fsqOeepD5E&8WQY0K{v<983Q}kFEcp$JV>%Dz76ce{5>==AZ_0+O^%Af>uE?^IcQq1iT?=k|b9(khg8xzX_<6 za>UHa{niB%Xu0cc@ZfpgvTI->r5u?ks5d0g!lFv4fQS~%Jl||KKillkV?!38gTY|W zNy{c4)eOoCfsw&8)54pe{XJXE*l_gB>HVxNY?`K#5JHtcw}uo#6k`+7%DOIhjV_%Edr4g!$9Wsrn!Ky4B|q5*W-d~k z0@O*$z|2wET1~JukjpNRN~yif*JUa|wbtM3{;UaB2r(~15>a+?a&plY5&+ig^_BbX zG8LfZO;dLsSHUuKe^iF_JnyWl&o$AM?PKNUZDl{Ybe=;g<)|&}OCinaRZP3q`ion> z2g=NMr9o?>oGRG9kmgV+#v-DX@B4c(>K>>W+=UILl(#KlX8>ke>x(|Q|8~2b!tvc& z>o4Vgo?Vie%ZP>B(B%2Et^jS6B*{55&kG=;mFIcy%b?HBfBFimLI|PKG(Gx-nd!59 zf?Zb4N@Y+I$MMXCW#)jH7srH^Qic^S?S3+ue5d{Qn}cDV=XqzP6Dwfmd6FbbDb?$GQc8Ji*5n?f=Xqy`+BM!dE2V*e;2aJTQq_?11V;{swi5TV7L<4c#$c9QMs&35ZxNo3_21*sG1AdJ>Wxt zc$$s7E-tSVDDbotw%hHr#=5}MF`U-`0>G?oitMU0sFk^JouVSjs!=aMtKOhiEr4GH oX!T-HD+_G117`kq3_z<_2&Bae_EEu$MM96>AB|Wl;gN6fT!wY3BsNCqQ!o zD<_C@g3-#@47{F&et0~u!Mm3AB%}<6T>j!Xklp%w&RK5;$gw z?+_yFwNArdM(p~&xp*j_gYXf6fBC{;F$kdn(REv=@edO_{lMKuNI=X$0-}VNs|-{% z)dY;IUZ?5qMeO>%xp+MI0%mI^Ng+x8Y#h!fu5Bl}{PLlE#6<4_K2naKlqydry8KpR z*Z0lktbDI{5rL%LYyBDSvR;MbjV)q%lj{=@8mTa(bD*py8+XnXP+Mdh-}0!NP*Zh`H**_6l)3oP z_5Gqq3*sf@C9>*e5?c!*e}kFH0st1w{+6mvjk4_oB=e}H*D^y9>We|}Ej@rHz4qCM zZ3n5LlZ?6$(gcfXcGONi#~V$v8X0zU=D9gqzYWF8Z7!VJ)k>2om{`AkZF zS(?gs-|2>1IqCmD4;&pOgj z3mN7QmJj74Rp3_?*ESRl#2EyC1291p_F89+=ajVKYV5Ol*#AO=xFga}LiY6uakTS?KYONa9zkXN_x)rP(wfA|P#k=DR$vE*|m+^GG1 zjo7vA1dOZfXKndd_FqFIrCe(`28jj<8Ui#a9034^rOIt=AWB0Afrduqsk?1bIsL#T zqTltIonvhlXHajnU-F_SoXZ2>vnwFMSF*84hu^=r0!*_$2Q=!+XM-|0n?%l|X` z?U+csUt17?cu1CTA{J>MAjZk3PV;srabf*)>n%~7wb-iu9@=`F&w7=3W7$*D>onaG zi8>K(^BxN*BQOo8N}7PtEmh`!sBP0A(NIZW^jL@EjV(x-{)GWm!AM9TmQsEv;^;^3 c{(p*p0m|hDJ#724xc~qF07*qoM6N<$f<$-s^#A|> diff --git a/assets/icon/help/images.png b/assets/icon/help/images.png new file mode 100644 index 0000000000000000000000000000000000000000..87bbd45520f68f526b8295b4a81e691e5ca16990 GIT binary patch literal 1096 zcmV-O1h@N%P)Px#1am@3R0s$N2z&@+hyVZs@<~KNRCt{2n%z~~NEF9^*O+})2}%WVDv0u!10<$` zg$|$sLj{lu%vPW*GRKc56`)jrO7QbyboW6bu|AAP@>mu*`n}nj(Tx6Q?%a+q@&I>qIg5z2|J8SVt(h9}PD znEC1^E6@NBVT|H#WpYg;LGxl3MQc&s!8BL(I3#Z{cIUNpX*e@iGRJSF-{-#bv<& z7@*7%LKcLL3o8Xr;pUr^Z>fUc~J)*9n($$aU5CT0@K8uxJ{aj&a9; zXJ)SiVGhcb2Kcte-UO>c=oFWjnPCt%)CpHM$KM3ID&B%8IqS=OKvBBd3YgT+s`W2gpdQmT2ZL-udO+3f?d;y zxvbP)h63=GKzZVoV_&!YzQ-1t_!h8%H0pLYn?K!_5d zX@yHUl|$Z{RF+@RDK7gw7zAt%;OlMmz|N{^ER%ld`KIqtA16)XT=T&h>uqAHrd`?) zN4!qIq6jY}Vw{){(_(bO)kYzBx-wwB8MbysXuzO$Mm;Z=t zmfzA6-`LjsOtRw2LM$BvCbh_zr2G~T(&w~_H(1G{~XotZMqgSXHmR$3oC?>&&dVuKT3?`TUH)1u8bq(fRHCX{1Ij% z+^|=?cARZufKG9F!lTFgG+)?xlC%~fMEOCFsLB~@M@L6TM@L6TRsIJ?8$r}m!OYwM O0000Z#^NA%Cx&(BWL^R}EX7WqAsj$Z z!;#Vfl#};#aSX|5e0%F*=3xh(wuk<+6qIEu8hb9}T;jbHIE#0arbUXUmG%>kv;S$q$4{u70FylGhmUz=ZN4hQ5cxQ8- z_5HtltJTZzGu?>Mt?xSV^W5usXWtlX6@K4Vy6yA-t4|D_zX#^9>#Kg7C-$+{qvUPk z{f&7uX38>N34Nb3FDvc+Uio>i&nJ5xHkfng@6)6eCyrb6?LM*d{MSBPrnc0>8*-3s zE#CQiJ#T7$ZsxPx#1am@3R0s$N2z&@+hyVZqTuDShR9J=Wm%T~@K@^40SuKNwAvX3~1Oy>}jmUPX z@*0BAU^A7k5b!xtSc=%>4+Oy?RSIo{SV*w2m}9fMSyz$CB*X~&HOqxLcRz+Zvn;R$ z?5q-wqNr4!O2!d!Z7|eWn1-=ph+LEdOg813? zZR9Ostu0}(lZ@-lO01JYBB78-C?pcLLSi>pFLRCO*K*0czBQ`VY9}O(qyxt$`v49z z^)rB1mmtX(NoG7A-=z}9n4s6|-Ag)h6j%ojolfW27-O?DvC;V;nZ7Um05uwoQ%RTj zy2Zayl2pz#odK9TW}ir242Q#80QzaToT%69XOg;cMkLQiqtTUX9+|<+pANyD{8}xU zPuYrlqL4@^BoYdVg#Rr;@*RuINpZbd32W^&fC&H#U=r6}c>jw6K&#c-lN6Gi^!xp{ cReJq7pWTaXX*4^6)c^nh07*qoM6N<$f_2llIsgCw diff --git a/assets/icon/my/avatar.png b/assets/icon/my/avatar.png new file mode 100644 index 0000000000000000000000000000000000000000..3a2ce32619568fe8ce3d80bdde8e9d3b41b701f9 GIT binary patch literal 17919 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 YexFpOU&nV=fhSXdfsPTX2>Ag2KSnBI-T(jq literal 0 HcmV?d00001 diff --git a/assets/icon/my/login-bg.png b/assets/icon/my/login-bg.png new file mode 100644 index 0000000000000000000000000000000000000000..b815fcbb229031a4e57cc8bda84fd93345d8e563 GIT binary patch literal 6026 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 F{{wiq1%?0s literal 0 HcmV?d00001 diff --git a/assets/icon/tabs/tab1-active@3x.png b/assets/icon/tabs/_tab1-active@3x.png similarity index 100% rename from assets/icon/tabs/tab1-active@3x.png rename to assets/icon/tabs/_tab1-active@3x.png diff --git a/assets/icon/tabs/tab1@3x.png b/assets/icon/tabs/_tab1@3x.png similarity index 100% rename from assets/icon/tabs/tab1@3x.png rename to assets/icon/tabs/_tab1@3x.png diff --git a/assets/icon/tabs/tab1-active.png b/assets/icon/tabs/tab1-active.png new file mode 100644 index 0000000000000000000000000000000000000000..b0a8abf71cfa0d55c9224b48ccffaac81c17f2eb GIT binary patch literal 900 zcmV-~1AF|5P)Px#1am@3R0s$N2z&@+hyVZsE=fc|RCt{2n?X(+F%&?bL#kHlCK9_Y(5NS%Qa7js zkrO~p&~O7d0qF@sPf$1kaDqfh5KFS|qRggU!vYD^3BQW~izH)D5_>!;ew#>{k>}^> z`^Wa!5C{YUfj}VeI#Ip@ct*N3P<%y*P(%nZB{~Qvs!GRKT;2sqmt9J<5F*WO9m?#f z4dR@_dcmt8>CprZGu^C+QPkBJ22O*Tc&rEHl87N~L)J`3aiBIivLDrSN_jo#8R^m> z;c6~9076UpwCqNePHq__Z7RH>h0w6nWQT;hs&Qkfy{Y6PXrV5pLlLt=&1La+-o>Ox zlZ0#QasY&gge&P<%gPCyWsqDFkmbucB4)NNsnz5Kb&NZo--2mY}O^~ zf@T`qxWIBTtTUu77qgdunKI}pYYr_=7xHJu z$!=yra=|*n=@Mm4I*KE;$w9VTGvIw}U&0N z21$=?plv&*LL$`F7H88grDu?0$5}u{qm=$z(*-@|woKulN4C>0=`yI|B9=m;(uXd( zBK>*U0-=Giarvmjm$L?;@pNLGL2-Jtl#U@n3@q zP7q`u2r>`^83=+51VILZAOk^=fgs30@dYJLw;&qvE9fr6mgk4qc^EqU3QBJD3uCvP zSDrxtKlk81p8Wnk9$oW{{}siD7zUq43uLQ1ql~#5!0+$gyBGLgFe?znTrgV#f*=Dy zkbxk`K)N8w|8$=>G{05%Za&wOeO^)X2ola+#8OCvleA0Pw{p^7s;$2B(ot1vX&3cH zdWD)U{gxg@Od0KbMk`2dj5axfzjN!($apF!`#$OMga6Bj5Th6%oU1L4eTNeW1OkD8 aTmAuh`Q@d0WbxYo0000Px#1am@3R0s$N2z&@+hyVZsT1iAfRA_1( zL~Oqq|DWG{zJX`Pi z2e=3hibF}_4CR12B7;R1g*~XEmH?rIP?Qf;0)^MfqR1H4Cb%@n%LWJiO#*1Xs2oCg zP|XFZ*oTg05*-hyAlO5F4Dg%kc6Vg&IG~P60p+1y z^pFTHG18rpXgQ!xv8i#!XukZzA-Ggo^_!;EdQcl#vw2t)HdAE%OMwY!Izhx)k~LgE z0@-_wpCWawSyY*M;@pf|PbA_jS;Pz{m8VFRl!e90xOGIvV$(vk)*+LJB4NRhGvs)& zEhb^?@6Wt7*yd?tp?X(%6NAFFkO_7`@GPWv<1sM^jzxoS!n6%)$gry!i@? zx&HPG8CX4oxm5e!Vm4eP8tq&Y1m%TJ*f-9cEtl_#@ws*3stEsFeLb6ixy@i(fFCcQ zHZUUz;7F2m=Z$!eNsK&oQbry6`Y>43jIE<%!rzLic#k+c-8Xwyqq3$mU`8*$D!^s* zzRz_Dex?W80SNh^)MDUrx|zN+Q+AnyU)#Fbm{RlL_h((s(J2}ws;rudhmaBQQAcDD_84tS zCND{HVGBia07i6>7rVH~^r^%rn(G1Mc59gacy1>zXKx%mJU~fypkg(#m}6BT{#i!k>9&MEnP*84S`x S>%LL|00007S;lQLn)J`omd!R~%`m51I4hO+kCUR@{tbZ{Kko5I%jz{DFL>^U}JIh03{J ztsb$O_r4zCtI1T*m9DgYvbKElK9Pp>nz<*w_R8(oFRi@0!r6bPW~!jjty@PHU79_~ zTk2(FrtFimJ-#)X6U?&SX&-q|YjJ+f8*lgY1o@du(+b>c_L*!tlx99*TdYJDd&$#2 z-XB3;0^YqA?G5(bV)x(hookyt>yhYs{kfVV%eNoomiAoz!?x(7$NkUib{$T?w_KIi zWafER&L1_#*_=te^Cs5rN&Apfw%IMv=jT=NI97=c`!^}ip1rTETywT#@BCjAXM3a; zYkp8Q-l6+pR+Y1lLL-aOL#zr~5o4ddJ& zvt%OE^EpialK)q0xgPoHb^bg5|L+lQ%br}GF5(7^;u~u3*Zq09`NDm*i@=n`;OXk; Jvd$@?2>=|86e0is literal 0 HcmV?d00001 diff --git a/assets/icon/tabs/tab1@2x.png b/assets/icon/tabs/tab1@2x.png deleted file mode 100644 index 531ece3a618721e4364b9a9fd3a1e0e55b5aee26..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2166 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 diff --git a/assets/icon/tabs/tab2@3x.png b/assets/icon/tabs/tab2.png similarity index 100% rename from assets/icon/tabs/tab2@3x.png rename to assets/icon/tabs/tab2.png diff --git a/assets/icon/tabs/tab2@2x.png b/assets/icon/tabs/tab2@2x.png deleted file mode 100644 index a4f9c1eabd4149912f5bfd296e52526f8beae09e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1921 zcmY*adpw(G8-9a0B%Nk;h-pn^ExJ?^43$QdIuq5*sZ~@W2qBR~r4FSBb&UL|-^T>? z(Kyth%Wvq1)~Xfko6+x+4pS}G)kZ~AHHWV3O_^@b`+MH|dhX}CuKT&4Ki)Uj&)5AU zm>~=RfR8*qTqs~9D5s`6_@3$ZG6#cNv=iA003<^A9}!S+jiPx_$N-RH3ILf`0bm16 zW&R2PNq7L5KL={d007CZ=sHCNH?GoyJ)_8E;Bydb0#L|4Kovv~@Btu(fYJ>_fEQ%{ zE~Y@tcQ`5lkj((pb~tCis2m>PRBE=PYBl78W3|dIn^3L#0V`#GMg6N_&|-U><^lj* zM>!!td4&P!cADWI%nK&_5NND;Y(ylBO2_i!*-8~amHE`jfWe$OC) zSeeG5QST|dI0tkv*$;Js#i65Yv3M*VO@g6NC?Y2^ia>F3+mVAS2XqXN$0p!#$;rvs zWNR#o6OFU9x3|aPt#DRW79hiddm(`r!M8}@eztA$myZjbOXD!uJO(QPrSy%UvXXcX zXtc7>?$|yjj}i5uQUZ6UEwDkHatCLL#p8CpK`Bw0C7k3i=wM}~Kgp8#p81d5P8}jn zS^RH@+3xgx7HpLSBjR?ijRgB7Y(@hBpemj&PW~~_#d60SqX6B0J2y-gvDegVoS`dW zBQ4rK?l0*_3);UwlQU%tt20EPVGCl4Vk)Pf#)xqkah zE@B_;%y_{X&sv|R$?aDwma0;tUo2LB6&fPKx7=@28HM>^*h_)aLpdiLP>a!hrBe64 zdTEm4uI9y$GZ3uYJJPsWyV+;6jrZZVUh61~72p2r;2cd+%tt2%2E^w(=Es{M^S8pz z+|Dsm-+wF8q#q_yL~<@H^|!cz^xn9Rq2(-r?T6fiDn6{M@KEQF!O14 zdU!Wu=u-qOdLembF;6_MD^{7Cr4;;jQB3OZG2;i)$YZ07DrGe*iP&)MO$wa+0O{+ioeFDMXb?_z-ZXv3l*T$0dP@-8wLpli z@I0f~R`uQU=lCxHIJJEu<#!cP9LA$NwqejE&1qbk=WWztoBsR@CoxLoEy~Uvp7wkI z!_tu!vJTz2WkxOJUWRv1on~b~RT<&Zoaa`9%~G}h;enI?o$PCqw(e`zZl`eLi1m9g zF5S%P*EgwENl&gXw#SM{#zHr3u}Z99!{dh*MWIzJr0~fJ`?Q;YXtZ7ss4a^esD6Qx z!&8Kn!mggIZ|+@iD-62#O}0S4{P0>ipRVH)TZ24%4Vg6Mj+uPk{Pu2H=#7?O$IbMy z?@}94^1Yz$WM_|Kg^^YG^<}c+-+uLJPxAG{Lmswm`M*u44U}uN(xxT^Lm7JX+gmMe zr+-5=xp(6_4xY1Vw9k==_xl`e8J3B^PaPW=>Vu6I+8757?4P|N0p_+IO|-9<8XD&~ zJ}w-TurJ0Y2yi74xcm#MS;nD-Kd>g<*+6_XHkkgm-O}OmvZJW{a<13&nG>VStEp`z=A1Q zbPJ|gf3elPDsJyrDR-M4jpkk)kcerrF$7nGa^?W26=|opIncZ|{wn SI`H2E0G_VCF0IbzF8>Kwe+=vZ diff --git a/assets/icon/tabs/tab3-active@3x.png b/assets/icon/tabs/tab3-active.png similarity index 100% rename from assets/icon/tabs/tab3-active@3x.png rename to assets/icon/tabs/tab3-active.png diff --git a/assets/icon/tabs/tab3-active@2x.png b/assets/icon/tabs/tab3-active@2x.png deleted file mode 100644 index 3b351b93843749c29ae710d615203b6cdbbb117a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 565 zcmV-50?Pe~P)Px#1am@3R0s$N2z&@+hyVZq-$_J4RA_Vm}<)iT^~rPx5Bod-m_AH=bDx zSS%kKS+qfK@lXyG4gh!hl*tGPMDTIw$yb83&8Y@-$Ux!8D%Ish;7q#wOj$P*4fz9j zrKrk}?{w*y793MhhYV@u@DpQmfdY~%gmakwfp+;)3X>?|CIe;H`DMstV6CtQ>Sm+x$*m*g%Q3Vzi+?>FqmO;~ zcUt%riAEL;(M$(-o|Y3oBOIf@KWE{ag2%J@;Cp#is#D^R3-cLNChaul;#OK*O=xh9x zQk7n7kCXS-7te|BXonH|E%>gA%ggYutQo@Vj5t#MIukDB8>6%X3k{giYg{()BEfTD z8^Kk5o$R==2j)w203bquGK%0qBZAf^{6#};OB4AIgp-Yi11G$x00000NkvXXu0mjf D;V|^( diff --git a/assets/icon/tabs/tab3@3x.png b/assets/icon/tabs/tab3.png similarity index 100% rename from assets/icon/tabs/tab3@3x.png rename to assets/icon/tabs/tab3.png diff --git a/assets/icon/tabs/tab3@2x.png b/assets/icon/tabs/tab3@2x.png deleted file mode 100644 index fb9df43568143a969e2993f16277a13420054547..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1605 zcmeAS@N?(olHy`uVBq!ia0vp^Rv^s51|%Qu_R;`SEa{HEjtmSN`?>!lvI6-E$sR$z z3=CCj3=9n|3=F@3LJcn%7)lKo7+xg+_0C{m5HFasE6@fg(UKbBnda-upao=eFt9QT zF)#yJj6lf1D8&FW4aj2fVw8rngBUfSYM2-p+A|qgplYIkGzfSAF-Q-DW?sOEFmVAB zT(#8#W&|6gEnwoY??8&Pz$3Dlfq`2Xgc%uT&5;0_7MU3mQ4-E(HYzo1&C7s~{IQsCFRFRw<*Tq`*pFzr4I$uiRKKzbIYb(9+UU-@r)U$VeBc zLbtdwuOzWTH?LS3VhGF}m(=3qqRfJl%=|nBkhzIT`K2YcN=hJ$-~i&zlFT%OO?kyo zZvj2150cS0)HBeBn+?=z0}{3JFUm{>+6*$^&d>&|5=9JZkBvUaawNwwTxrF zw>HldhNhi`H8nXqoRai(U&O`5$LDvwINKq>tio8sJWo^5?&Ovzt*NtS&zpB`+qP|X zpH4kvd(}{LO51{M*D8((z3X#l&YamUdjF@-JvaNOfoi;mH0OKIxc>L*)vMQbGA>g- zy@lPZ@PW>u)bl-#2RAo2H!sVawV17P(RBkJ-Pvc)CClkwc-UBWYpwBQ=?fe&7qhmm z`u_W`{PIf1BFV5AtGnXive6kQ8K1ATv9X!MV^nc#@wb%;S4+w`9PV$fE!?_sm2a51 zoptH9{#f9Z~JYr)9s?)VrI$~-)?k>J+x#xSH`9A33KhQKW|O_ zl>Jz^fVcfrH#SdTn?=F65>a^#*%$7SUmm02RZ9RGS?p=Kg3BBU%?}|rO{@W0t zb1x=3`u0af!FSWPxqtuuJ>R)HWddK5CX43wmWw=z6WB!bev4Ms@m^Fl+QR$&ui7C2 z7wxm9;bCEQ(@#IG?g*Oakh#Q`OLD!yOON7cqb8FDDr;`P&07?)%yrgz2X6e- zSg^)*(!GEAVIi*)RRkpeIwo9naQI-X=Rc9n#3khmgF^lh){t4R+d6vIg=&vrFUyvVm`zFUlfXFt$*A6K`OR&Kvbe2ck{39g7^9%DnMI<9J$nI&YZWBAwZ9lW#X_&pQ7+T1QxKp5B}HLVsRW9yzBz z{q)Qn`P+PZ%v9L^9RJ1XI``G`AmOk4KcX*5eO)@axYSeIQ{nl9y)9Qw3R^3$zy7eY zfN?3i)CQHtuf9tJOvFy{PFeQakK>zel2i$|+uwI)4sTXB`Y*n1E%Bc3l~o(3%+!6H zCEPar<~tfDiFM{nPx#1am@3R0s$N2z&@+hyVZsrAb6VRA_ z|KGefUvGpdp?%sY3kY|!-v9`*>I8^^807^`BDu|A8sC*F4{MKr78@w52%+PbW8g7O zp2;m@UkzRc{1y%mIO^ppY|AoRJ`Xw@pncj1JE&uimn(@8R$N1?;nG<9YyrKgiw96b zM!d$lx}57J_rwGiAR&0OhESt z8S;L*s+>q@u{dd(og6|3^ro%Ik$@pPlNuBnpf6dgWwvprt$o@>mBk)tuvv#1PYSgd z4aoL2VQq5UDfEKb1Hx*ZYP=Bcn~IAUm=js%%y?nZAa?UYD}akzaJ>gtx^T*{ zl$;3R!UkM>3Rid1|1Jp6%*6)uB^`vP)-S)h1LxQNF8dzCk2p218NkUfUq4ucVPf|U zWkv4fjW8RKCa&IN6Gp87Zho;7G0vMs_-5g3A(kaBo2rZEE_C){;0VlS<Xu$!&;m6(bFCUlRG z5dn=41B}M$pGyU(4>>a zdfO<{p8?7f*IRtMtwg$rZDzAg{YOoQJ7YToW_!hYNWzfIWuaxa7t%`kQs1dE;COkW zxn=pX7npaW3F%_=7A2<1fCfp?l&QT;)F>P94Q^zelkXrQ=4biT>oNwqC>@jp;Rz5` pSwa7L|ItFYN@`3@gLRuR@C(|y96Bu#9UA}u002ovPDHLkV1jgR!b<=E diff --git a/assets/icon/tabs/tab4@3x.png b/assets/icon/tabs/tab4.png similarity index 100% rename from assets/icon/tabs/tab4@3x.png rename to assets/icon/tabs/tab4.png diff --git a/assets/icon/tabs/tab4@2x.png b/assets/icon/tabs/tab4@2x.png deleted file mode 100644 index 3949d2e03f4fdd6f219043a25c0b01849b8ba03e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2199 zcmY*bd0dj&8a^PnlR1@`ZG`2L3QA?8qEhY_MrfIo3ka^cj9}tcie5D`wJEa9lCs9M zGPCWvj#efanF(cTZd0QUiIr5ETlb^7b?^Cp=X;;?p67Yq^Pa!XA&Qq9O4C3S0D$sv zccwzoRyoyGq5n{wrwJ4gp_|E@0l1#8HA_cAYfP{^l?*_V5ddkK08B%vv{3-!Edh`P zLE4i5pks?`cMzeCOxA9X5HcC8gRnY4!hQiN5Q0G;fEfU#8-#!-Y}pS?g_(TkzyZh( z2Z-++8Wfeo9hyqbx2Ph7{d5$R8x%Swv3|j~*(|9cAD}@tj zkKIkCV4Py&SQu-ZCC(D-pozg?h;hsiTdK3`cR94O$A)n@v9@@8LP7#AVLdJ;E);KN zV`GE2B;W}I3y5LCPK@TzxfaoE!*3@4^>JpggX6+uIpHzU7^N?r5fjg`$6}R*evEJD zfctcX6GHbg%E}R8bR{A?w5x+A3FZaC;5w9%%KZp6& z>DMgOs)HsG|Kr*mG?xYpsR5v>@8P`JCk!d4*-_WHEoABEG)YAF&)YOx|EW$y83SUX zT`}pNM%tpLvq9O5nvy2Mh`bWoS>nb8_h|-+h`@&I3Zc>E+Omqe&4fR&MHS-qHgTcf zz{&>?Tv?0LcOYDKr&c)&-=B3b$K&0go0YqkUgwt~_gozr8FB9(%P34AR?J8w-gvTP zKKZk^9fg<7<&HKD?F2b0E4G7q{kch*s=rxBOG^u`X$~H{14A-x-*?c)(Q)7ezOC~X z@TbxERv#7&I{Q37T6~~;YHDh_yW6iw(SN${!wIpjkKY>i_U8J#+Ghq?{Apk5!NG?e zjV|^VSNiN4DxObFN}8T|{FuD9N62U5Kqu@{+by5H8*RR_jKJ-v+ZO}qj&&(vNR=$$?AorOH6$-@){W)2zkxG+* zl1A0xy>Q)M?)dv#(lzvvh1s)OX8M zpdF4Ef{j%-Zx~w3kAHO21M;oOm22FWb_S5H*Sb_ItzOAH`cF)Nv^UwFfUcKT$D+7m`1tc6&WRsJ?2)bC2u$)cj_w7Yl2 zZWqxMrj$Bd*Yo+;A+rn{gROpD@U<-W8Tc&%-<{^_uPS>DlWwQ3(ktCIvG*pL5)U_^ zsH^n1;tPieM00-R`M`n6D|V}G^^R%;?7s)eWDy^7LA0r;B`{a6ot|c%3(T5Ou7q_i+dt-P|!TyP>lMl^Hls5WRb| z65pX4*2mK3EQ1xXqYMiMl9r@Ib{Joq2x)P88NYLjUI=T~DKeOQONc1_k3e@?3&3<0^LZMB$Xe52otV~zc=pdw(3pKa6uvq32UgY zA3GQNsb^-u6*00mZ{Og@G|BlA7l!^G_TpL{jJ^gvU`hvhtw0-Iv7rWAlQncJl6KxO zKR^G5NEL>*5s*R_RXeunNKdZQ4(gRYvR1(+-Wz>j3F}Hu>&aq2{|l&TIwr>HGrZiS zhgO%==&fkj(%M?L!2Z~X1cyA%KeahcZkziqL2o`~;h1)OdHySHhI5a3 zN1a+jr7nwa(|a+!LLg9-$)&k9xule4jfhd5`UuA;m7GPw&VxDsRGkfuG^yJ_xmts{ zLCcKiWhajc95NLv50S)a=+ZpX|jzkMUz=v@a@X5315jZmvV zRkT!~l9uR1@=i3>Y+*n3d|&xaEx7)gPe1C?BQxHJFMRm|uJB2pn}4bs@rk`aa>TYUp_R8CFqn+evyHsfk)jZ61^z>ies0Cgh=Q4J(gv;|{a|=V+xL-(r!_OcZ z^D|Phc=@@uttx9tv)G1zU5O8p3d$*gSr2`uOG*iM3enk%MdNDe7aps3-x_bkw{vGr zQHyJXb>awzzeQ}T>x-KE&|7Kk2FVRJ)rd?LJK65Fr4mL!V is^?-Y`6Pk*tje00(s|~Qap(mBfQO5hbLEyG-hTi-=aqv1 diff --git a/components/address/index.js b/components/address/index.js deleted file mode 100644 index a1eeb6b..0000000 --- a/components/address/index.js +++ /dev/null @@ -1,148 +0,0 @@ -import commonApi from '../../api/common'; -const app = getApp(); - -Component({ - - /** - * 组件的属性列表 - */ - properties: { - saveText:{ - type:String, - value:"保存" - }, - deleteText:{ - type:String, - value:'' - }, - communityId:{ - type:Number, - value:null - } - }, - - /** - * 组件的初始数据 - */ - data: { - buildingList:[], - buildingIndex:0, - communityList:[], - communityIndex:0, - - currentEditAddress:{}, - name:'', - gender:'', - phone:'', - community_building_id:'', - address_detail:'' - }, - lifetimes:{ - attached(){ - if(app.globalData.tempAddress){ - this.setData({ - currentEditAddress:app.globalData.tempAddress, - name:app.globalData.tempAddress.name, - gender:app.globalData.tempAddress.gender, - phone:app.globalData.tempAddress.phone, - community_building_id:app.globalData.tempAddress.community_building_id, - address_detail:app.globalData.tempAddress.address_detail - }) - } - commonApi.community.list().then((data)=>{ - let communityIndex; - this.setData({ - communityList:data.items - }); - data.items.map((item,index)=>{ - if(item.id==this.data.currentEditAddress.id){ - communityIndex = index; - } - }) - - //没有找到 id 就是新增,就去找默认的社区进行填充 - if(communityIndex){ - this.getBuildingList(); - }else{ - for(let [index,item] of data.items.entries()){ - if(item.id==this.properties.communityId){ - this.setData({ - communityIndex:index - }); - } - } - this.getBuildingList(); - } - }); - // console.log(app.globalData.tempAddress); - } - }, - /** - * 组件的方法列表 - */ - methods: { - save(){ - - - this.triggerEvent('save'); - let data = { - community_id:this.data.communityList[this.data.communityIndex].id, - community_building_id:this.data.buildingList[this.data.buildingIndex].id, - address_detail:this.data.address_detail, - name:this.data.name, - gender:this.data.gender, - phone:this.data.phone - } - console.log(data); - if(this.data.currentEditAddress&&this.data.currentEditAddress.id){ - //编辑 - data.id = this.data.currentEditAddress.id; - commonApi.address.update(data); - }else{ - //新增 - data.is_default = true; - commonApi.address.add(data).then((data)=>{ - const pages = getCurrentPages(); - const prePage = pages[pages.length-2]; - prePage.changeAddress(data); - wx.navigateBack({ - success(){ - wx.showToast({ - title: '新增成功', - icon:'success' - }); - } - }); - }); - } - }, - getBuildingList(){ - const current = this.data.communityList[this.data.communityIndex]; - commonApi.building.list(current.id).then((data)=>{ - let buildingIndex = 0; - data.items.map((item,index)=>{ - item.displayText = `${item.community_name} ${item.building_name}`; - if(item.id==this.data.currentEditAddress.id){ - buildingIndex = index; - } - }); - this.setData({ - buildingList:data.items, - buildingIndex - }) - }); - }, - del(){ - this.triggerEvent('delete') - }, - chooseCommonity(event){ - this.setData({ - communityIndex:event.detail.value - }) - }, - buildingChange(event){ - const buildingIndex = event.detail.value; - this.setData({buildingIndex}); - } - } -}) \ No newline at end of file diff --git a/components/address/index.json b/components/address/index.json deleted file mode 100644 index c07b0d2..0000000 --- a/components/address/index.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "component": true, - "usingComponents": {}, - "styleIsolation": "shared" -} \ No newline at end of file diff --git a/components/address/index.wxml b/components/address/index.wxml deleted file mode 100644 index c3566cc..0000000 --- a/components/address/index.wxml +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/components/address/index.wxss b/components/address/index.wxss deleted file mode 100644 index 4edea08..0000000 --- a/components/address/index.wxss +++ /dev/null @@ -1,42 +0,0 @@ -.page-container.editor{ - padding-top:0; - font-size: 30rpx; -} -.editor .item{ - display: flex; - align-items: center; - border-bottom: 1rpx solid rgba(153, 153, 153, 0.2); - min-height: 130rpx; -} -.editor .item.no-border{ - border:none; -} - -.editor .item .key{ -} -.editor .item .key::before{ - content: '*'; - color: #EB0000; -} -.editor .item label.value{ - line-height: 1.5; - height: auto; - align-self: center; -} -.editor .item .value{ - flex:1; - margin-left: 30rpx; - height: 100%; - padding:15rpx 0; - box-sizing: border-box; -} -.editor .item .right-icon{ - width:34rpx;height:34rpx; -} - -.editor .radio-group{ - font-size: 24rpx; -} -.editor button+button{ - margin-top:30rpx; -} \ No newline at end of file diff --git a/components/listView/index.js b/components/listView/index.js index 5178677..bbbc8b6 100644 --- a/components/listView/index.js +++ b/components/listView/index.js @@ -12,9 +12,7 @@ Component({ type:Boolean, value:false }, - "height":{ - type:Number - }, + height:0, loadMoreText:{ type:String, value:'已经到底了' @@ -26,6 +24,10 @@ Component({ loadAll:{ type:Boolean, value:false + }, + class:{ + type:String, + value:'' } }, @@ -33,14 +35,15 @@ Component({ * 组件的初始数据 */ data: { - defaultHeight:'' + heightStyle:'', + scrollHeight:0 }, lifetimes:{ attached(){ + this.createSelectorQuery().select('#scrollView').boundingClientRect((res)=>{ + this.data.scrollHeight = res.height; + }).exec(); const windowInfo = wx.getWindowInfo(); - this.setData({ - defaultHeight:`calc(100vh)` - }) } }, /** @@ -52,10 +55,25 @@ Component({ }, scrolling(event){ //scrollTop scrollHeight - const bottomHeight = event.detail.scrollHeight-event.detail.scrollTop-this.properties.height; + const bottomHeight = event.detail.scrollHeight-event.detail.scrollTop-this.data.scrollHeight; if(bottomHeight<100){ this.triggerEvent('loadMore'); } } + }, + observers:{ + height(h){ + let heightStyle = ''; + if(h){ + if(typeof h == 'string'){ + heightStyle = `height:${h}` + }else{ + heightStyle = `height:${this.properties.height*2}rpx` + } + this.setData({ + heightStyle:heightStyle + }) + } + } } }) \ No newline at end of file diff --git a/components/listView/index.json b/components/listView/index.json index e8cfaaf..8b37bbf 100644 --- a/components/listView/index.json +++ b/components/listView/index.json @@ -1,4 +1,5 @@ { "component": true, - "usingComponents": {} + "usingComponents": {}, + "styleIsolation": "apply-shared" } \ No newline at end of file diff --git a/components/listView/index.wxml b/components/listView/index.wxml index 3b044a7..3fc1a33 100644 --- a/components/listView/index.wxml +++ b/components/listView/index.wxml @@ -1,4 +1,4 @@ - + diff --git a/components/listView/index.wxss b/components/listView/index.wxss index 6c9d683..b83fa71 100644 --- a/components/listView/index.wxss +++ b/components/listView/index.wxss @@ -1,5 +1,8 @@ +.scroll-view{ + height:100%; +} .load-more{ - padding:100rpx 0; + padding:56rpx 0 80rpx 0; text-align: center; color: #888888; font-size:24rpx; @@ -14,8 +17,8 @@ .load-more::before{ content: ''; position: absolute; - left:0;top:112rpx; - width:100%;height:1.5rpx; + left:0;top:68rpx; + width:100%;height:1rpx; background-color: rgba(136, 136, 136, 0.25); z-index: -1; } \ No newline at end of file diff --git a/components/navbar/index.js b/components/navbar/index.js index 28d0974..14aeef4 100644 --- a/components/navbar/index.js +++ b/components/navbar/index.js @@ -49,5 +49,8 @@ Component({ }, share(){ }, + getHeight(){ + return this.data.statusBarHeight + this.data.navBarHeight; + } } }) \ No newline at end of file diff --git a/pages/help/address/edit/index.js b/pages/help/address/edit/index.js index 709ae58..3a433a8 100644 --- a/pages/help/address/edit/index.js +++ b/pages/help/address/edit/index.js @@ -1,5 +1,5 @@ import commonApi from '../../../../api/common'; - +const app = getApp(); Page({ @@ -21,6 +21,12 @@ Page({ community_building_id:'', address_detail:'' }, + validator:{ + name:{required:true,message:'请输入姓名',shake:true,autoFocus:true}, + phone:{type:'phone',message:'请输入正确的手机号',shake:true,autoFocus:true}, + buildingIndex:{required:true,message:'请选择楼栋',shake:true,autoFocus:true}, + address_detail:{required:true,message:'请输入详细地址',shake:true,autoFocus:true} + }, deleteAddress(){ wx.showModal({ title: '确定删除此地址吗', @@ -80,6 +86,11 @@ Page({ } }, save(){ + const valid = app.validateForm(this.validator,this); + console.log(valid); + if(valid.length!=0){ + return; + } let data = { community_id:this.data.communityId, community_building_id:this.data.buildingList[this.data.buildingIndex].id, diff --git a/pages/help/address/edit/index.json b/pages/help/address/edit/index.json index 82cadae..9bbacbe 100644 --- a/pages/help/address/edit/index.json +++ b/pages/help/address/edit/index.json @@ -1,6 +1,5 @@ { "usingComponents": { - "address-editor":"/components/address" }, "navigationBarTitleText": "编辑地址" } \ No newline at end of file diff --git a/pages/help/address/edit/index.wxml b/pages/help/address/edit/index.wxml index ada1aef..b894923 100644 --- a/pages/help/address/edit/index.wxml +++ b/pages/help/address/edit/index.wxml @@ -1,45 +1,64 @@ - - - - - - - - - - - - - - - - - - - - - - - - + + 用户姓名 + + + {{nameMessage}} + + + + + + - - - - - - + + + + 手机号码 + + + {{phoneMessage}} + + + + + 选择楼栋 + + + {{buildingIndexMessage}} + + + + + + 详细地址 + + + {{address_detailMessage}} + + + + + + \ No newline at end of file diff --git a/pages/help/address/edit/index.wxss b/pages/help/address/edit/index.wxss index 9985e68..13d98de 100644 --- a/pages/help/address/edit/index.wxss +++ b/pages/help/address/edit/index.wxss @@ -2,43 +2,19 @@ padding-top:0; font-size: 30rpx; } -.editor .item{ - display: flex; - align-items: center; - border-bottom: 1rpx solid rgba(153, 153, 153, 0.2); - min-height: 130rpx; -} -.editor .item.no-border{ - border:none; -} - -.editor .item .key{ -} -.editor .item .key::before{ - content: '*'; - color: #EB0000; -} -.editor .item label.value{ - line-height: 1.5; - height: auto; - align-self: center; -} -.editor .item .value{ - flex:1; - margin-left: 30rpx; - height: 100%; - box-sizing: border-box; -} -.editor .item .value .input{ - padding:15rpx 0; -} -.editor .item .right-icon{ - width:34rpx;height:34rpx; -} - .editor .radio-group{ font-size: 24rpx; } -.editor button+button{ - margin-top:30rpx; +.radio-group{ + color:var(--main-font-color); +} +.radio-group .item{ + padding:20rpx 0; +} +.button{ + margin:30rpx!important; +} +.picker input{ + width:100%; + flex: 1; } \ No newline at end of file diff --git a/pages/help/address/index/index.js b/pages/help/address/index/index.js index c9f9702..7488e77 100644 --- a/pages/help/address/index/index.js +++ b/pages/help/address/index/index.js @@ -10,7 +10,8 @@ Page({ addressList:[], communityId:null, communityName:'', - genderKV:userApi.genderKV + genderKV:userApi.genderKV, + loading:true }, /** @@ -34,9 +35,12 @@ Page({ * 生命周期函数--监听页面显示 */ onShow() { + wx.showNavigationBarLoading(); commonApi.address.list(this.data.communityId).then((data)=>{ + wx.hideNavigationBarLoading(); this.setData({ - addressList:data + addressList:data, + loading:false }) }); }, diff --git a/pages/help/address/index/index.json b/pages/help/address/index/index.json index 8252772..7473e22 100644 --- a/pages/help/address/index/index.json +++ b/pages/help/address/index/index.json @@ -1,6 +1,5 @@ { "usingComponents": { - "address-editor":"/components/address" }, "navigationBarTitleText": "收件人信息" } \ No newline at end of file diff --git a/pages/help/address/index/index.wxml b/pages/help/address/index/index.wxml index 6b72dfb..0b4af2c 100644 --- a/pages/help/address/index/index.wxml +++ b/pages/help/address/index/index.wxml @@ -1,8 +1,6 @@ - - 常用地址 - + {{item.community_name}} {{item.community_building_name}} {{item.address_detail}} @@ -12,7 +10,8 @@ capture-catch:tap="goToAddressEditor" data-item="{{item}}"/> - + 加载中... + 该小区暂无常用地址 使用过的地址会在这里显示 diff --git a/pages/help/address/index/index.wxss b/pages/help/address/index/index.wxss index 3d7bc6f..8a46214 100644 --- a/pages/help/address/index/index.wxss +++ b/pages/help/address/index/index.wxss @@ -35,4 +35,9 @@ } .add-button{ margin: 40rpx 20rpx!important; +} +.loading{ + padding:50rpx; + text-align: center; + color: #999999; } \ No newline at end of file diff --git a/pages/help/community/index.js b/pages/help/community/index.js index 10bdaf6..a95c24a 100644 --- a/pages/help/community/index.js +++ b/pages/help/community/index.js @@ -61,7 +61,8 @@ Page({ }); const data = { skip:this.data.pager.limit*this.data.pager.pageIndex, - limit:this.data.pager.limit + limit:this.data.pager.limit, + status:'OPENING' } if(this.data.lng&&this.data.lat){ data.longitude = this.data.lng; diff --git a/pages/help/community/index.wxml b/pages/help/community/index.wxml index 1500ce2..d26f9f4 100644 --- a/pages/help/community/index.wxml +++ b/pages/help/community/index.wxml @@ -1,12 +1,11 @@ - + diff --git a/pages/help/community/index.wxss b/pages/help/community/index.wxss index 8086726..86bd698 100644 --- a/pages/help/community/index.wxss +++ b/pages/help/community/index.wxss @@ -1,4 +1,9 @@ -.community-list{} +.community-list{ + position:absolute; + left:0;top:0; + width: 100%; + height:100vh; +} .community-list .item{ border-radius: 18rpx; background-color: #fff; diff --git a/pages/help/index/index.js b/pages/help/index/index.js index 2a1f764..67246ce 100644 --- a/pages/help/index/index.js +++ b/pages/help/index/index.js @@ -27,13 +27,18 @@ Page({ preOrdering:false, ordering:false, - genderKV:userApi.genderKV + genderKV:userApi.genderKV, + navBarHeight:0 }, /** * 生命周期函数--监听页面加载 */ onLoad(options) { + let height = this.selectComponent("#navBar").getHeight(); + this.setData({ + navBarHeight:height + }) this.setData({ isLogin:!!app.globalData.accessToken }) @@ -130,6 +135,21 @@ Page({ }) }, preOrder(event){ + let msg = ''; + if(!(this.data.currentCommunity&&this.data.currentCommunity.id)){ + msg = '选择小区'; + } + if(!(this.data.currentAddress&&this.data.currentAddress.id)){ + msg = '选择送达地址'; + } + if(msg){ + wx.showToast({ + title:msg, + duration:1000, + icon:'none' + }); + return; + } if(this.data.preOrdering)return; wx.getStorage({ key:'pre-order', @@ -143,12 +163,31 @@ Page({ preOrdering:false, preOrder:data }); + }).catch((data)=>{ + if(data.code==400&&data.data&&data.data.orderid){ + wx.showModal({ + title: '你有订单未支付', + content: '', + confirmText:'去支付', + complete: (res) => { + if (res.confirm) { + wx.navigateTo({ + url: `/pages/order/detail/index?id=${data.data.orderid}`, + }) + } + } + }) + } + this.setData({ + preOrdering:false + }); }) }, fail(){ wx.showToast({ - icon:'error', - title: '请选择驿站' + icon:'none', + duration:1000, + title: '选择取件驿站' }) } }) diff --git a/pages/help/index/index.wxml b/pages/help/index/index.wxml index a11fa8c..19ad3a6 100644 --- a/pages/help/index/index.wxml +++ b/pages/help/index/index.wxml @@ -1,6 +1,8 @@ - - + + + + @@ -9,15 +11,17 @@ currentCommunity.id?currentCommunity.name:'请选择小区' }} - + - + + {{currentAddress.community_name}} + {{currentAddress.community_building_name}} {{currentAddress.address_detail}} @@ -32,13 +36,14 @@ - + + {{package.name}} 共计 {{package.count}} 个包裹 - 选择驿站 + 选择取件驿站 @@ -54,7 +59,7 @@ - 蜂蜜抵扣 + 安全保障 @@ -113,6 +118,6 @@ {{preOrder.price_detail_text}} - + \ No newline at end of file diff --git a/pages/help/index/index.wxss b/pages/help/index/index.wxss index 1f24355..5e7e512 100644 --- a/pages/help/index/index.wxss +++ b/pages/help/index/index.wxss @@ -5,6 +5,14 @@ position:absolute; z-index:-1; } +.bg .image{ + width: 396rpx; + height:140rpx; + position: absolute; + right:20rpx; + top:260rpx; + padding-top:90rpx; +} .nav-bar .logo{ width:168rpx; height:42rpx; @@ -42,7 +50,19 @@ } .address-panel .ap-item .icon{ width:40rpx;height:40rpx; - margin-top:4rpx + margin-top:4rpx; + color:#fff; + border-radius: 50%; + font-size: 24rpx; + font-weight: 500; + text-align: center; + line-height: 40rpx; +} +.address-panel .ap-item .icon.send{ + background-color: #000000; +} +.address-panel .ap-item .icon.get{ + background-color: var(--main-color); } .address-panel .ap-item .text{ flex:1; @@ -56,7 +76,7 @@ font-weight: 500; } .address-panel .ap-item .text .sub-title{ - color:#7C8695; + color: #999999; font-size: 28rpx; margin-top:22rpx; min-height: 28rpx; @@ -82,7 +102,7 @@ vertical-align: middle; } .address-panel .bottom .text{ - color: #7C8695; + color: #999999; font-size: 24rpx; margin-left: 8rpx; display: inline-block; @@ -114,7 +134,7 @@ .promotion-panel .text .sub-title{ font-size: 28rpx; - color: #7C8695; + color: #999999; margin-top:26rpx; } .promotion-panel .button{ diff --git a/pages/help/package/index.js b/pages/help/package/index.js index e04ccbd..d1de686 100644 --- a/pages/help/package/index.js +++ b/pages/help/package/index.js @@ -13,18 +13,16 @@ Page({ bottomBarButtonTap(){ const data = []; - let hasPackage = false; this.data.stationList.map((item)=>{ if(item.package.length>0&&item.package[0]!=''){ - hasPackage = true; + data.push({ + station_id:item.id, + station_name:item.name, + pickup_codes:item.package.filter((item)=>item!='').join(',') + }); } - data.push({ - station_id:item.id, - station_name:item.name, - pickup_codes:item.package.filter((item)=>item!='').join(',') - }); }) - if(hasPackage){ + if(data.length>0){ wx.setStorage({ key:'pre-order', data:{ @@ -52,9 +50,13 @@ Page({ if(!this.data.stationList[index].package){ this.data.stationList[index].package = []; } - this.data.stationList[index].package.push(''); + let hasEmptyInput = this.data.stationList[index].package.find((item)=>item=='')==undefined; + if(hasEmptyInput){ + this.data.stationList[index].package.push(''); + } + this.data.stationList[index].focus = true; this.setData({ - stationList:this.data.stationList + [`stationList[${index}]`]:this.data.stationList[index] }); }, deletePackage(event){ @@ -62,7 +64,7 @@ Page({ const packageIndex = event.currentTarget.dataset.p_index; this.data.stationList[itemIndex].package.splice(packageIndex,1); this.setData({ - stationList:this.data.stationList + [`stationList[${itemIndex}].package`]:this.data.stationList[itemIndex].package }) }, setPackageCode(event){ @@ -79,22 +81,29 @@ Page({ wx.getStorage({ key:'pre-order', success:(res)=>{ - data.items.map((item)=>{ + data.items.map((item,index)=>{ const __item = res.data.price_request.packages.find((_item)=>_item.station_id==item.id); - item.package = __item.pickup_codes.split(',')||['']; + if(__item){ + item.package = __item.pickup_codes.split(',')||[]; + } }); this.setData({ sendType:res.data.delivery_method, stationList:data.items - }) + }); } }); data.items.map((item)=>{ - item.package = ['']; + item.package = []; }); this.setData({ stationList:data.items - }) + }); + wx.nextTick(()=>{ + this.setData({ + [`stationList[0].focus`]:true + }) + }); }); }, diff --git a/pages/help/package/index.wxml b/pages/help/package/index.wxml index df8590b..ed4dd3f 100644 --- a/pages/help/package/index.wxml +++ b/pages/help/package/index.wxml @@ -1,42 +1,58 @@ + + + + + 快捷下单 + + + 上传取件信息图片时,图片需清晰显示取件位置信息 + + + + - - - {{item.name}} - {{item.service_text}} + + + {{item.name}} + + + {{item.service_text}} - + - + + 投递方式 - - + \ No newline at end of file diff --git a/pages/help/package/index.wxss b/pages/help/package/index.wxss index 18b383f..151c31e 100644 --- a/pages/help/package/index.wxss +++ b/pages/help/package/index.wxss @@ -2,32 +2,42 @@ } .page-container .head{ - display: flex; padding-bottom:14rpx; } .page-container .head .icon{ width:40rpx;height:40rpx; - -} -.page-container .head .text{ - flex:1; - padding-left:10rpx; + margin-right: 20rpx; } .page-container .head .title{ - font-size: 34rpx; + font-size: 36rpx; + font-weight: 500; + display: flex; + align-items: center; } .page-container .head .sub-title{ font-size:26rpx; color: #888888; margin-top:24rpx; + padding-left:60rpx; } .page-container>.button{ margin-top:20rpx; + border-radius: 12rpx; + background: rgba(124, 134, 149, 0.08); } -.page-container .radio{ +.send-way .radio{ display: flex; - justify-content: space-around; + justify-content: space-between; + padding-top:30rpx; +} + +.send-way .title{ + font-size: 34prx; + font-weight: 500; +} +.send-way .radio .item{ + padding:14rpx 30rpx; } @@ -65,4 +75,8 @@ .package-list .item .icon{ width:36rpx;height:36rpx; +} + +.img-area.page-container .head .sub-title{ + padding-left:0; } \ No newline at end of file diff --git a/pages/help/success/index.wxml b/pages/help/success/index.wxml index 5e0890d..41fdf3d 100644 --- a/pages/help/success/index.wxml +++ b/pages/help/success/index.wxml @@ -2,5 +2,5 @@ 恭喜下单成功 {{successText}} - + \ No newline at end of file diff --git a/pages/help/success/index.wxss b/pages/help/success/index.wxss index c97fd36..a4490b1 100644 --- a/pages/help/success/index.wxss +++ b/pages/help/success/index.wxss @@ -10,9 +10,9 @@ page{ margin-top:320rpx; } .title{ - font-size: 40rpx; + font-size: 44rpx; font-weight: 500; - color:#222222; + color:var(--main-color); margin-top:50rpx; } .sub-title{ @@ -21,7 +21,11 @@ page{ margin-top:40rpx; } .button{ + border: 1.2rpx solid #999999!important; + color:var(--main-font-color)!important; + font-weight: normal; border-radius: 60rpx; padding:19rpx!important; - margin:90rpx!important; + margin:90rpx auto!important; + width:438rpx!important; } \ No newline at end of file diff --git a/pages/index/index.js b/pages/index/index.js deleted file mode 100644 index a8d6aa5..0000000 --- a/pages/index/index.js +++ /dev/null @@ -1,49 +0,0 @@ -// index.js -const defaultAvatarUrl = 'https://mmbiz.qpic.cn/mmbiz/icTdbqWNOwNRna42FI242Lcia07jQodd2FJGIYQfG0LAJGFxM4FbnQP6yfMxBgJ0F3YRqJCJ1aPAK2dQagdusBZg/0' - -Page({ - data: { - motto: 'Hello World', - userInfo: { - avatarUrl: defaultAvatarUrl, - nickName: '', - }, - hasUserInfo: false, - canIUseGetUserProfile: wx.canIUse('getUserProfile'), - canIUseNicknameComp: wx.canIUse('input.type.nickname'), - }, - bindViewTap() { - wx.navigateTo({ - url: '../logs/logs' - }) - }, - onChooseAvatar(e) { - const { avatarUrl } = e.detail - const { nickName } = this.data.userInfo - this.setData({ - "userInfo.avatarUrl": avatarUrl, - hasUserInfo: nickName && avatarUrl && avatarUrl !== defaultAvatarUrl, - }) - }, - onInputChange(e) { - const nickName = e.detail.value - const { avatarUrl } = this.data.userInfo - this.setData({ - "userInfo.nickName": nickName, - hasUserInfo: nickName && avatarUrl && avatarUrl !== defaultAvatarUrl, - }) - }, - getUserProfile(e) { - // 推荐使用wx.getUserProfile获取用户信息,开发者每次通过该接口获取用户个人信息均需用户确认,开发者妥善保管用户快速填写的头像昵称,避免重复弹窗 - wx.getUserProfile({ - desc: '展示用户信息', // 声明获取用户个人信息后的用途,后续会展示在弹窗中,请谨慎填写 - success: (res) => { - console.log(res) - this.setData({ - userInfo: res.userInfo, - hasUserInfo: true - }) - } - }) - }, -}) diff --git a/pages/index/index.json b/pages/index/index.json deleted file mode 100644 index b55b5a2..0000000 --- a/pages/index/index.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "usingComponents": { - } -} \ No newline at end of file diff --git a/pages/index/index.wxml b/pages/index/index.wxml deleted file mode 100644 index 5116494..0000000 --- a/pages/index/index.wxml +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - - 昵称1 - - - - - - 请使用2.10.4及以上版本基础库 - - - - {{userInfo.nickName}} - - - - {{motto}} - - - - - 123 - 123 - 123 - - diff --git a/pages/index/index.wxss b/pages/index/index.wxss deleted file mode 100644 index 1ebed4b..0000000 --- a/pages/index/index.wxss +++ /dev/null @@ -1,62 +0,0 @@ -/**index.wxss**/ -page { - height: 100vh; - display: flex; - flex-direction: column; -} -.scrollarea { - flex: 1; - overflow-y: hidden; -} - -.userinfo { - display: flex; - flex-direction: column; - align-items: center; - color: #aaa; - width: 80%; -} - -.userinfo-avatar { - overflow: hidden; - width: 128rpx; - height: 128rpx; - margin: 20rpx; - border-radius: 50%; -} - -.usermotto { - margin-top: 200px; -} - -.avatar-wrapper { - padding: 0; - width: 56px !important; - border-radius: 8px; - margin-top: 40px; - margin-bottom: 40px; -} - -.avatar { - display: block; - width: 56px; - height: 56px; -} - -.nickname-wrapper { - display: flex; - width: 100%; - padding: 16px; - box-sizing: border-box; - border-top: .5px solid rgba(0, 0, 0, 0.1); - border-bottom: .5px solid rgba(0, 0, 0, 0.1); - color: black; -} - -.nickname-label { - width: 105px; -} - -.nickname-input { - flex: 1; -} diff --git a/pages/login/login.js b/pages/login/login.js index 6c0657b..1a927ba 100644 --- a/pages/login/login.js +++ b/pages/login/login.js @@ -4,27 +4,18 @@ const app = getApp(); Page({ data: { isAgree: false, - loging:false + loging:false, + animation:null }, - - handleAgreeChange(e) { + radioChange(event){ this.setData({ - isAgree: e.detail.value.length > 0 + isAgree:event.detail.value!='' }) }, - - onLogin() { - if (!this.data.isAgree) { - wx.showToast({ - title: '请先同意用户协议和隐私政策', - icon: 'none' - }) - return - } - + preLogin(){ + this.shake(); }, getPhoneNumber(event){ - console.log(event); if(!event.detail.code){ //未接受 return; @@ -61,5 +52,22 @@ Page({ } }) }) + }, + shake(){ + if(!this.animation){ + this.animation = wx.createAnimation({ + duration: 20, + }) + } + this.animation.translateX(10).step(); + this.animation.translateX(-10).step(); + this.animation.translateX(10).step(); + this.animation.translateX(-10).step(); + this.animation.translateX(5).step(); + this.animation.translateX(0).step(); + // needSetData[`${key}Animation`] = item.animation.export(); + this.setData({ + animation:this.animation.export() + }) } -}) \ No newline at end of file +}) \ No newline at end of file diff --git a/pages/login/login.wxml b/pages/login/login.wxml index dacd383..9873c7e 100644 --- a/pages/login/login.wxml +++ b/pages/login/login.wxml @@ -2,12 +2,15 @@ - + - - - @@ -20,7 +19,7 @@ {{item.coupon_name}} 有效期至 {{item.expire_time}} - {{item.coupon_amount}} + {{item.coupon_amount}} @@ -29,8 +28,7 @@ - @@ -39,7 +37,7 @@ {{item.coupon_name}} 有效期至 {{item.expire_time}} - {{item.coupon_amount}} + {{item.coupon_amount}} @@ -48,8 +46,7 @@ - @@ -58,7 +55,7 @@ {{item.coupon_name}} 有效期至 {{item.expire_time}} - {{item.coupon_amount}} + {{item.coupon_amount}} diff --git a/pages/my/coupon/index.wxss b/pages/my/coupon/index.wxss index d1958e3..ada7f9e 100644 --- a/pages/my/coupon/index.wxss +++ b/pages/my/coupon/index.wxss @@ -1,3 +1,9 @@ +.coupon-list{ + position: absolute; + top:114rpx; + left:0;height:calc(100vh - 114rpx); + width:100%; +} .coupon-list .item{ display: flex; margin:20rpx; @@ -12,13 +18,11 @@ flex:1; } .coupon-list .item .name{ - font-size: 34rpx; - font-weight: 500; + font-size: 36rpx; } .coupon-list .item .desc{ - font-weight: 26rpx; color: #888888; - margin-top:40rpx; + margin-top:44rpx; } .coupon-list .item .money{ font-size:54rpx; diff --git a/pages/my/firend/index.wxml b/pages/my/firend/index.wxml index 356c67e..9e3e9c3 100644 --- a/pages/my/firend/index.wxml +++ b/pages/my/firend/index.wxml @@ -1,5 +1,4 @@ - @@ -14,6 +13,7 @@ + 暂无邻友 \ No newline at end of file diff --git a/pages/my/firend/index.wxss b/pages/my/firend/index.wxss index 59a56ae..8fb4666 100644 --- a/pages/my/firend/index.wxss +++ b/pages/my/firend/index.wxss @@ -1,4 +1,9 @@ +.firend-list{ + position:absolute; + top:0;left:0; + width:100%;height:100vh; +} .firend-list .item{ display: flex; margin:20rpx; @@ -26,4 +31,12 @@ } .firend-list .item .status{ color:var(--main-color) +} + +.list-empty{ + padding-top:480rpx; +} +.list-empty .sub-title{ + margin-top:30rpx; + font-size: 30rpx; } \ No newline at end of file diff --git a/pages/my/index/index.wxml b/pages/my/index/index.wxml index cc0b446..c230d08 100644 --- a/pages/my/index/index.wxml +++ b/pages/my/index/index.wxml @@ -3,13 +3,15 @@ bindrefresherpulling="scrollViewPulling" bindrefresherrestore="scrollViewPullingOver" refresher-background="var(--main-color)"> @@ -23,17 +25,29 @@ - - + + + + + 邀请好友下单 + + + 邀请邻友领券下单,自己再得1张跑腿券 + + diff --git a/pages/my/index/index.wxss b/pages/my/index/index.wxss index aa71a53..d62c719 100644 --- a/pages/my/index/index.wxss +++ b/pages/my/index/index.wxss @@ -10,13 +10,13 @@ .user-info .content{ display: flex; align-items: center; - margin:218rpx 40rpx 0 46rpx; + margin:218rpx 40rpx 0 40rpx; position: relative; z-index: 1; } .user-info .content .avatar{ - width:112rpx;height:112rpx; + width:120rpx;height:120rpx; border: 2px solid #FFFFFF; border-radius: 50%; } @@ -27,7 +27,7 @@ margin-left:30rpx; } .user-info .content .setting{ - background-color: #fff; + background: rgba(255, 255, 255, 0.9); width:66rpx;height:66rpx; border-radius: 50%; display: flex; @@ -58,30 +58,35 @@ } .property .item .value{ font-size:56rpx; - font-weight: bold; + font-weight: 600; } .invite-cell{ - display:flex; - justify-content: space-between; + padding:40rpx 40rpx 36rpx 40rpx; + background-color: #fff; + margin:20rpx; + border-radius: 20rpx; } -.invite-cell .spec{ +.invite-cell .title{ + display: flex; + align-items: center; +} +.invite-cell .title .text{ + margin-left:20rpx; + flex:1; +} +.invite-cell .icon{ + width:40rpx;height:40rpx; +} +.invite-cell .sub-title{ font-size: 26rpx; - position: relative; - color:var(--main-color); -} -.invite-cell .spec::before{ - content:''; - position: absolute; - bottom: -16rpx; - background: rgba(153, 153, 153, 0.2); - width:100%; - height: 8rpx; + color: #888888; + margin-top:30rpx; + padding-left:60rpx; } .cell.is-button{ background-color: #fff; font-weight: normal; - text-align: left; } .cell.is-button:hover{ background-color: #fff; diff --git a/pages/my/money/index.wxml b/pages/my/money/index.wxml index 5fdad46..fb21a19 100644 --- a/pages/my/money/index.wxml +++ b/pages/my/money/index.wxml @@ -1,24 +1,25 @@ - - 蜂蜜 (克) - {{userInfo.points}} - 取快递自动抵扣 - + + + 蜂蜜 (克) + {{userInfo.points}} + 取快递自动抵扣 + - - - - {{item.description}} - {{item.create_time}} + + + + {{item.description}} + {{item.create_time}} + + {{item.points}} - {{item.points}} - - - - 暂无蜂蜜 - - \ No newline at end of file + + + 暂无蜂蜜 + + + \ No newline at end of file diff --git a/pages/my/money/index.wxss b/pages/my/money/index.wxss index e54e958..0846f15 100644 --- a/pages/my/money/index.wxss +++ b/pages/my/money/index.wxss @@ -13,6 +13,7 @@ .consume .point{ font-size: 70rpx; margin-top:40rpx; + font-weight: 600; } .consume .tips{ position:absolute; @@ -24,9 +25,6 @@ padding:0 16rpx; } -.money-list{ - margin-top:46rpx; -} .money-list .item{ display: flex; margin:20rpx; diff --git a/pages/my/setting/index.js b/pages/my/setting/index/index.js similarity index 75% rename from pages/my/setting/index.js rename to pages/my/setting/index/index.js index db9d5e1..bde0b26 100644 --- a/pages/my/setting/index.js +++ b/pages/my/setting/index/index.js @@ -1,6 +1,6 @@ const app = getApp(); -import userApi from '../../../api/user'; -import commonApi from '../../../api/common'; +import userApi from '../../../../api/user'; +import commonApi from '../../../../api/common'; Page({ @@ -18,12 +18,6 @@ Page({ * 生命周期函数--监听页面加载 */ onLoad(options) { - this.setData({ - isShowPopup:false, - name:app.globalData.userInfo.nickname, - inputName:app.globalData.userInfo.nickname, - avatar:app.globalData.userInfo.avatar - }) }, saveName(){ this.saveUser(); @@ -54,9 +48,17 @@ Page({ count:1, mediaType:'image', success:(res)=>{ - commonApi.uploadImg(res.tempFiles[0]).then((data)=>{ - this.saveUser(data.url); - }); + console.log(res); + wx.cropImage({ + cropScale: '1:1', + src: res.tempFiles[0].tempFilePath, + success:(_res)=>{ + commonApi.uploadImg(_res).then((data)=>{ + this.saveUser(data.url); + }); + } + }) + return; } }); }, @@ -65,6 +67,16 @@ Page({ isShowPopup:true }); }, + logout(){ + wx.removeStorage({ + key: 'accessToken', + success(){ + wx.reLaunch({ + url: '/pages/login/login', + }) + } + }) + }, /** * 生命周期函数--监听页面初次渲染完成 */ @@ -76,7 +88,12 @@ Page({ * 生命周期函数--监听页面显示 */ onShow() { - + this.setData({ + isShowPopup:false, + name:app.globalData.userInfo.nickname, + inputName:app.globalData.userInfo.nickname, + avatar:app.globalData.userInfo.avatar + }) }, /** diff --git a/pages/my/setting/index.json b/pages/my/setting/index/index.json similarity index 100% rename from pages/my/setting/index.json rename to pages/my/setting/index/index.json diff --git a/pages/my/setting/index.wxml b/pages/my/setting/index/index.wxml similarity index 72% rename from pages/my/setting/index.wxml rename to pages/my/setting/index/index.wxml index 9ad4ba6..23a8171 100644 --- a/pages/my/setting/index.wxml +++ b/pages/my/setting/index/index.wxml @@ -1,17 +1,19 @@ - + 修改头像 - + 修改昵称 - {{name}} - + + {{name}} + + - + 隐私政策 @@ -21,6 +23,7 @@ + diff --git a/pages/my/setting/index.wxss b/pages/my/setting/index/index.wxss similarity index 51% rename from pages/my/setting/index.wxss rename to pages/my/setting/index/index.wxss index e6218ef..44c2efb 100644 --- a/pages/my/setting/index.wxss +++ b/pages/my/setting/index/index.wxss @@ -17,4 +17,17 @@ height:88rpx; line-height: 88rpx; flex: 1; +} +.cells .cell-ft .text{ + color:var(--main-font-color); +} + +.logout-btn{ + margin:40rpx 20rpx 20rpx!important; + padding:38rpx 0!important; + line-height: 1; + background-color: rgba(153, 153, 153, 0.15)!important; + font-size: 32rpx; + font-weight: normal; + color: #666666!important; } \ No newline at end of file diff --git a/pages/my/setting/name/index.js b/pages/my/setting/name/index.js new file mode 100644 index 0000000..6d4a887 --- /dev/null +++ b/pages/my/setting/name/index.js @@ -0,0 +1,95 @@ +import userApi from '../../../../api/user'; +const app = getApp(); +Page({ + + /** + * 页面的初始数据 + */ + data: { + name:'', + userInfo:{}, + loading:false + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad(options) { + app.getUserInfo().then((data)=>{ + this.setData({ + userInfo:data, + name:data.nickname + }) + }) + }, + save(){ + if(this.data.name==this.data.userInfo.nickname||this.data.name==''){ + return; + } + if(this.data.loading)return; + this.setData({ + loading:true + }) + userApi.updateUser({nickname:this.data.name}).then((data)=>{ + return app.forceGetUserInfo(); + }).then((data)=>{ + console.log(app.globalData.userInfo); + wx.navigateBack({ + success(){ + wx.showToast({ + title: '更新成功', + }); + } + }); + }) + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady() { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow() { + + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide() { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload() { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh() { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom() { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage() { + + } +}) \ No newline at end of file diff --git a/pages/my/setting/name/index.json b/pages/my/setting/name/index.json new file mode 100644 index 0000000..ed2289c --- /dev/null +++ b/pages/my/setting/name/index.json @@ -0,0 +1,4 @@ +{ + "usingComponents": {}, + "navigationBarTitleText": "修改昵称" +} \ No newline at end of file diff --git a/pages/my/setting/name/index.wxml b/pages/my/setting/name/index.wxml new file mode 100644 index 0000000..1d038c8 --- /dev/null +++ b/pages/my/setting/name/index.wxml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/pages/my/setting/name/index.wxss b/pages/my/setting/name/index.wxss new file mode 100644 index 0000000..e2a9adf --- /dev/null +++ b/pages/my/setting/name/index.wxss @@ -0,0 +1,14 @@ +.page-container{ + height:160rpx; + display: flex; + align-items: center; + padding:0 40rpx; +} +.page-container .input{ + height:100rpx; + flex: 1; + font-size: 36rpx; +} +.save-btn{ + margin:40rpx 20rpx!important; +} \ No newline at end of file diff --git a/pages/order/detail/index.js b/pages/order/detail/index.js index a525229..42e280a 100644 --- a/pages/order/detail/index.js +++ b/pages/order/detail/index.js @@ -14,7 +14,8 @@ Page({ scrollViewHeight:0, - refresherTriggered:true + refresherTriggered:true, + genderKV:userApi.genderKV }, /** @@ -49,19 +50,38 @@ Page({ title: '你确定取消此订单吗?', complete: (res) => { if (res.confirm) { - userApi.order.cancel(this.data.orderDetail.order.orderid).then(()=>{ - this.getOrderDetail(this.data.orderDetail.order.orderid); + userApi.order.cancel(this.data.orderDetail.orderid).then(()=>{ + wx.showToast({ + title: '取消成功', + }) + this.getOrderDetail(); const pages = getCurrentPages(); const prePage = pages[pages.length-2]; - prePage.loadOrderList(); + prePage.refreshList(); }); } } }) }, + //订单更改后上一个页面如果是订单列表,就刷新 + refreshOrderList(){ + const pages = getCurrentPages(); + const prePage = pages[pages.length-2]; + if(prePage&&prePage.refreshList){ + prePage.refreshList(); + } + }, + pay(){ + const merchantPay = this.selectComponent('#merchantOrderComponent'); + merchantPay.createPayment(this.data.orderDetail.orderid,true); + }, + paySuccess(){ + this.refreshOrderList(); + this.getOrderDetail(); + }, copyOrderId(){ wx.setClipboardData({ - data: this.data.orderDetail.order.orderid, + data: this.data.orderDetail.orderid, }) }, handleContact(e){ @@ -71,7 +91,19 @@ Page({ }, makePhoneCall(){ wx.makePhoneCall({ - phoneNumber: this.data.orderDetail.order.deliveryman_phone, + phoneNumber: this.data.orderDetail.deliveryman_phone, + }) + }, + preview(event){ + const current = event.currentTarget.dataset.url; + wx.previewImage({ + current:current, + urls: this.data.orderDetail.complete_images, + }) + }, + orderAgain(){ + wx.switchTab({ + url: '/pages/help/index/index', }) }, /** diff --git a/pages/order/detail/index.json b/pages/order/detail/index.json index 781f718..11e155f 100644 --- a/pages/order/detail/index.json +++ b/pages/order/detail/index.json @@ -1,4 +1,6 @@ { - "usingComponents": {}, + "usingComponents": { + "merchant-order":"/components/merchantOrder" + }, "navigationBarTitleText": "订单详情" } \ No newline at end of file diff --git a/pages/order/detail/index.wxml b/pages/order/detail/index.wxml index 18c1bce..fcc857c 100644 --- a/pages/order/detail/index.wxml +++ b/pages/order/detail/index.wxml @@ -1,86 +1,115 @@ - - {{orderStatusKV[orderDetail.order.status]}} - - 跑腿员 - - - - - {{orderDetail.order.deliveryman_nickname}} - 已安全送达{{orderDetail.order.delivery_count}}件 - - - - - - 送货地址 - - {{orderDetail.order.community_name}}{{orderDetail.order.address_detail}} - {{orderDetail.order.address_name}} {{orderDetail.order.address_phone}} - - - - 取件信息 - - - - - - + + + {{orderStatusKV[orderDetail.status]}} + + 配送员 - - {{item.station_name}} 共{{item.pickup_codes.length}}件包裹 - - {{package}} + + + + {{orderDetail.deliveryman_nickname}} + 已安全送达{{orderDetail.delivery_count}}件 + + + + + + 送货地址 + + + {{orderDetail.community_name}} + {{orderDetail.building_name}} + {{orderDetail.address_detail}} + + + {{orderDetail.address_name}} + {{genderKV[orderDetail.address_gender]}} + {{orderDetail.address_phone}} + + + + + 取件信息 + + + - - - - - 送达方式 - {{orderDeliverStatusKV[orderDetail.order.delivery_method]}} + + + + {{item.station_name}} 共{{item.pickup_codes.length}}件包裹 + + {{package}} + + + + + + + 送达方式 + {{orderDeliverStatusKV[orderDetail.delivery_method]}} + - - - 订单信息 - - - 订单编号 - {{orderDetail.order.orderid}} - - 复制 + + + 送达图片 + + + + - - 提交时间 - {{orderDetail.order.create_time}} - - - 取件数量 - {{orderDetail.totalPackage}} - - - 跑腿费用 - - - {{orderDetail.order.original_amount-orderDetail.order.coupon_discount_amount}} + + + 订单信息 + + + 订单编号 + {{orderDetail.orderid}} + + 复制 + + + + 提交时间 + {{orderDetail.create_time}} + + + 取件数量 + {{orderDetail.totalPackage}} + + + 跑腿费用 + + + {{orderDetail.original_amount-orderDetail.coupon_discount_amount}} + + 先享后付 - 先享后付 + + + + + + + + + - - - - - - - \ No newline at end of file + + + + \ No newline at end of file diff --git a/pages/order/detail/index.wxss b/pages/order/detail/index.wxss index 2efb9e2..9ffda18 100644 --- a/pages/order/detail/index.wxss +++ b/pages/order/detail/index.wxss @@ -48,6 +48,7 @@ } .sender .info .avatar{ width:100rpx;height:100rpx; + border-radius: 50%; } .sender .info .center{ margin-left:24rpx; @@ -136,28 +137,45 @@ padding:0 10rpx; margin-left: 32rpx; } -.bottom-bar{ - text-align: right; +.bottom-bar-v2{ } -.bottom-bar .button{ +.bottom-bar-v2 .btns{ + display: flex; + gap: 30rpx; + align-items: center; + justify-content:flex-end; +} +.bottom-bar-v2 .pay{ + flex:1 +} +.bottom-bar-v2 .button{ line-height: 72rpx; padding:0 36rpx; font-weight: normal; border-radius: 18rpx; + margin:0; } -.bottom-bar .button1{ +.bottom-bar-v2 .button1{ color: #555555; border: 1rpx solid rgba(153, 153, 153, 0.5); font-size: 32rpx; } -.bottom-bar .button2{ +.bottom-bar-v2 .button2{ font-size: 32rpx; - margin-left:30rpx; -} -.patch{ - padding-bottom:200rpx; } .send-way .left{ padding:10rpx 0; +} + +.photos .spliter{ + margin:24rpx 0; +} +.photos .imgs{ + display: flex; + gap: 16rpx; +} +.photos .imgs .image{ + width:140rpx;height:140rpx; + border-radius: 10rpx; } \ No newline at end of file diff --git a/pages/order/index/index.js b/pages/order/index/index.js index c7a9484..dfa1de6 100644 --- a/pages/order/index/index.js +++ b/pages/order/index/index.js @@ -72,12 +72,6 @@ Page({ this.loadOrderList(); this.loadMerchantOrderList(); this.loadMerchantPayOrderList(); - - const windowInfo = wx.getWindowInfo(); - this.setData({ - scrollViewHeight:windowInfo.windowHeight-windowInfo.statusBarHeight-44-57 - }) - }, refreshList(){ if(this.data.tabIndex==0){ @@ -229,7 +223,6 @@ Page({ * 生命周期函数--监听页面显示 */ onShow() { - }, /** diff --git a/pages/order/index/index.json b/pages/order/index/index.json index d68591d..a9b8806 100644 --- a/pages/order/index/index.json +++ b/pages/order/index/index.json @@ -4,5 +4,5 @@ "merchant-order":"/components/merchantOrder", "list-view":"/components/listView" }, - "navigationStyle": "custom" + "navigationBarTitleText": "我的订单" } \ No newline at end of file diff --git a/pages/order/index/index.wxml b/pages/order/index/index.wxml index ba95dca..ed337d6 100644 --- a/pages/order/index/index.wxml +++ b/pages/order/index/index.wxml @@ -1,6 +1,6 @@ - + - + + @@ -133,4 +134,4 @@ - \ No newline at end of file + diff --git a/pages/order/index/index.wxss b/pages/order/index/index.wxss index e2f728c..b46de85 100644 --- a/pages/order/index/index.wxss +++ b/pages/order/index/index.wxss @@ -1,6 +1,11 @@ .nav-bar{ background-color: #fff; } +.order-list{ + position:absolute; + top:0;height:100vh; + width:100%; +} .order-list .item{ background-color: #fff; border-radius: 18rpx; @@ -193,4 +198,4 @@ font-size: 36rpx; font-weight: 500; color:var(--main-color) -} \ No newline at end of file +}