From ad4e2228a6a4aa5208e017cb54210a0087f8c431 Mon Sep 17 00:00:00 2001 From: XiaoMo Date: Sat, 3 Jan 2026 16:39:19 +0800 Subject: [PATCH] =?UTF-8?q?Revert=20"feat:=20=E6=96=B0=E5=A2=9E=E5=95=86?= =?UTF-8?q?=E5=93=81=E8=AF=A6=E6=83=85=E6=90=AD=E9=85=8D=E4=BC=98=E6=83=A0?= =?UTF-8?q?=E7=BB=84=E4=BB=B6=E5=92=8C=E5=AE=A2=E6=9C=8D=E5=BC=B9=E7=AA=97?= =?UTF-8?q?"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit 95eed74b96d4012e46fa4147e923678dbd723be2. --- app.js | 36 ++- app.json | 6 +- app.wxss | 13 +- img/iconfont---.svg | 83 ----- img/logo2.jpeg | Bin 22126 -> 0 bytes pages/OnlineCarHailing/OnlineCarHailing.js | 118 +++++++ pages/OnlineCarHailing/OnlineCarHailing.json | 3 + pages/OnlineCarHailing/OnlineCarHailing.wxml | 9 + pages/OnlineCarHailing/OnlineCarHailing.wxss | 25 ++ pages/common/common.wxml | 24 +- pages/common/common.wxss | 0 pages/duiquan/duiquan.js | 100 +++++- pages/duiquan/duiquan.wxss | 5 +- pages/goodsDetails/goodsDetails.js | 6 +- pages/goodsDetails/kefuBox/kefuBox.js | 7 - pages/goodsDetails/kefuBox/kefuBox.json | 4 - pages/goodsDetails/kefuBox/kefuBox.wxml | 37 --- pages/goodsDetails/kefuBox/kefuBox.wxss | 189 ------------ pages/goodsDetails/matchWrap/matchWrap.js | 5 - pages/goodsDetails/matchWrap/matchWrap.json | 4 - pages/goodsDetails/matchWrap/matchWrap.wxml | 34 -- pages/goodsDetails/matchWrap/matchWrap.wxss | 171 ---------- pages/goodsSearch/goodsSearch.js | 8 +- pages/index/index.js | 180 +++++++++-- pages/index/index.wxml | 36 ++- pages/index/index.wxss | 80 ++++- pages/listDetail/listDetail.js | 4 +- pages/listDetail/listDetail.wxml | 4 +- pages/mall/mall.js | 6 +- pages/map/map.wxml | 4 +- pages/map/map.wxss | 6 - pages/orderDetails/orderDetails.js | 6 +- pages/orderIndex/orderIndex.js | 6 +- pages/orderList/orderList.js | 8 +- pages/orderPay/orderPay.js | 12 +- pages/orderPaySuccess/matchList/matchList.js | 5 - .../orderPaySuccess/matchList/matchList.json | 4 - .../orderPaySuccess/matchList/matchList.wxml | 23 -- .../orderPaySuccess/matchList/matchList.wxss | 137 -------- pages/orderPaySuccess/orderPaySuccess.js | 4 +- pages/refund/refund.js | 149 +++++++++ pages/refund/refund.json | 3 + pages/refund/refund.wxml | 61 ++++ pages/refund/refund.wxss | 93 ++++++ pages/singleStart/singleStart.wxml | 73 +---- pages/singleStart/singleStart.wxss | 181 ++--------- pages/substituteWash/substituteWash.js | 199 ++++++++++++ pages/substituteWash/substituteWash.json | 8 + pages/substituteWash/substituteWash.wxml | 109 +++++++ pages/substituteWash/substituteWash.wxss | 292 ++++++++++++++++++ pages/user/user.js | 40 +-- pages/user/user.wxml | 15 +- pages/user/user.wxss | 15 - pages/voucher/voucher.js | 79 ++--- pages/voucher/voucher.wxml | 13 +- pages/voucher/voucher.wxss | 5 - pages/washCodeDetail/washCodeDetail.js | 6 +- pages/washCodeList/washCodeList.js | 29 +- pages/washCodeList/washCodeList.wxml | 8 +- pages/washCodeList/washCodeList.wxss | 1 + pages/washing/washing.js | 179 +++++++++++ pages/washing/washing.json | 5 + pages/washing/washing.wxml | 42 +++ pages/washing/washing.wxss | 167 ++++++++++ project.private.config.json | 22 -- template/pageLoding/pageLoding.wxml | 2 +- template/serviceTel/serviceTel.wxml | 6 +- utils/login.js | 21 +- 68 files changed, 2037 insertions(+), 1198 deletions(-) delete mode 100644 img/iconfont---.svg delete mode 100644 img/logo2.jpeg create mode 100644 pages/OnlineCarHailing/OnlineCarHailing.js create mode 100644 pages/OnlineCarHailing/OnlineCarHailing.json create mode 100644 pages/OnlineCarHailing/OnlineCarHailing.wxml create mode 100644 pages/OnlineCarHailing/OnlineCarHailing.wxss delete mode 100644 pages/common/common.wxss delete mode 100644 pages/goodsDetails/kefuBox/kefuBox.js delete mode 100644 pages/goodsDetails/kefuBox/kefuBox.json delete mode 100644 pages/goodsDetails/kefuBox/kefuBox.wxml delete mode 100644 pages/goodsDetails/kefuBox/kefuBox.wxss delete mode 100644 pages/goodsDetails/matchWrap/matchWrap.js delete mode 100644 pages/goodsDetails/matchWrap/matchWrap.json delete mode 100644 pages/goodsDetails/matchWrap/matchWrap.wxml delete mode 100644 pages/goodsDetails/matchWrap/matchWrap.wxss delete mode 100644 pages/orderPaySuccess/matchList/matchList.js delete mode 100644 pages/orderPaySuccess/matchList/matchList.json delete mode 100644 pages/orderPaySuccess/matchList/matchList.wxml delete mode 100644 pages/orderPaySuccess/matchList/matchList.wxss create mode 100644 pages/refund/refund.js create mode 100644 pages/refund/refund.json create mode 100644 pages/refund/refund.wxml create mode 100644 pages/refund/refund.wxss create mode 100644 pages/substituteWash/substituteWash.js create mode 100644 pages/substituteWash/substituteWash.json create mode 100644 pages/substituteWash/substituteWash.wxml create mode 100644 pages/substituteWash/substituteWash.wxss create mode 100644 pages/washing/washing.js create mode 100644 pages/washing/washing.json create mode 100644 pages/washing/washing.wxml create mode 100644 pages/washing/washing.wxss delete mode 100644 project.private.config.json diff --git a/app.js b/app.js index b311b4a..fec3b41 100644 --- a/app.js +++ b/app.js @@ -3,15 +3,31 @@ var t = require("./utils/login.js"); // 引入 require("./utils/xstat.js"); +function generateRandomCode(length) { + let result = ''; + const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; + const charactersLength = characters.length; + for (let i = 0; i < length; i++) { + result += characters.charAt(Math.floor(Math.random() * charactersLength)); + } + + return result; +} App({ xstatConfig: { appKey: wx.getAccountInfoSync().miniProgram.appId, // 自动获取 小程序appid debug: true, //是否打开调试模式 // 上报地址 - LOG_URL: 'https://t-jm.v0750.com/send', + LOG_URL: 'https://t-jm.v0750.com/v2/stat/send', }, - onLaunch: function(e) { + onLaunch: function (e) { + + // 40 位的随机码 + if (!wx.getStorageSync("session")) { + wx.setStorageSync("session", generateRandomCode(40)); + } + console.log("options", e), this.globalData.options = e, t.getLogin(this, !0); try { var o = wx.getSystemInfoSync(); @@ -25,16 +41,16 @@ App({ }); } }, - onShow: function(e) { + onShow: function (e) { console.log("onshowwwwwwwoptions", e); var o = e.scene; - [ 1011, 1012, 1013, 1024, 1047, 1048, 1049 ].indexOf(o) > -1 && (console.log("扫码进入的"), - t.getDevicecode(this, e)); + [1011, 1012, 1013, 1024, 1047, 1048, 1049].indexOf(o) > -1 && (console.log("扫码进入的"), + t.getDevicecode(this, e)); }, - computeNavigateBarHeight: function(t) { + computeNavigateBarHeight: function (t) { var e = wx.getMenuButtonBoundingClientRect(), o = e.bottom + 6, i = t.windowHeight, n = e.top, a = e.height; i < 10 && (i = t.windowHeight, a = o - (n = t.statusBarHeight)), o < 10 && (console.log("更新"), - o = 68, /iPhone X|MI 8|PAAM00|COR-AL00/.test(t.model) ? o = 88 : /iPhone/.test(t.model) && (o = 64)); + o = 68, /iPhone X|MI 8|PAAM00|COR-AL00/.test(t.model) ? o = 88 : /iPhone/.test(t.model) && (o = 64)); var s = t.windowWidth; this.globalData.screen_data = { windowWidth: s, @@ -58,6 +74,12 @@ App({ isneedUpload: !1, needJumpUrl: !1, devicecode: "", + deviceData: { + type: 'machine', + devicecode: '', + options: {}, + title: '', + }, protocol: {}, tips: "" } diff --git a/app.json b/app.json index 79628b1..fb4c15d 100644 --- a/app.json +++ b/app.json @@ -23,7 +23,11 @@ "pages/user/user", "pages/webview/webview", "pages/wangdian/wangdian", - "pages/duiquan/duiquan" + "pages/duiquan/duiquan", + "pages/refund/refund", + "pages/washing/washing", + "pages/substituteWash/substituteWash", + "pages/OnlineCarHailing/OnlineCarHailing" ], "window": { "backgroundTextStyle": "light", diff --git a/app.wxss b/app.wxss index a631881..dd9d319 100644 --- a/app.wxss +++ b/app.wxss @@ -125,7 +125,7 @@ bottom: 0; color: #fff; font-size: 44rpx; - height: 136rpx; + height: 126rpx; left: 0; line-height: 106rpx; position: fixed; @@ -133,7 +133,6 @@ width: 100vw; z-index: 6; border-radius: 40rpx 40rpx 0 0; - overflow: hidden; } .scan-btn .sha { animation: shake 2s infinite; @@ -184,6 +183,7 @@ font-size: 26rpx; justify-content: center; line-height: 40rpx; + border:none; } .index-href-box,.service-tel { @@ -208,15 +208,6 @@ background-image: linear-gradient(to bottom, #C7E1F9, #fff); } -.index-href-box button.item { - border: 0; - padding: 0; -} - -.index-href-box button.item .name { - line-height: 40rpx; -} - .index-href-box .item_b { width: 100%; height: 100%; diff --git a/img/iconfont---.svg b/img/iconfont---.svg deleted file mode 100644 index dbfacb8..0000000 --- a/img/iconfont---.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - -Created by iconfont - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/img/logo2.jpeg b/img/logo2.jpeg deleted file mode 100644 index 78257df104a78a57489262594028b50414b9a2d9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22126 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

A$G5m^R` zH}&V*S&bZiTPD9ENXw^KC~YkKn?-(av0c%>XeyPftF&-@fh|s&qR+u*m>d5C=_(wq z;GX}f_Ltf!t{Qk`>Xr(5 z7o$qfvrVKd)3C4MbqT=>mbCMu_(A1a`=YXpHM>%Nj0q*dyuvBI?`gAk#K17hyG+b2 z**U{c!Pad=B@QV}XXFArkRKnAA(AKH%)tBLgN-)LJHx)fm?1BE&j6BpvaOAMd2lT6 zcc^Hn>p(!k3lsXb`6W1L{F$#`;8fY!(DF0Z_%&)?2wB(zfKsJdUPZ8Hr371s79F9i zy$^T;2|iu9J`pWe(dX?4@DrU<$qW~!KgX4e3fQPUmML2Ak7hMC?4C(9%l4A8Kc@u8ZoD_fEu9O?PF%J?G-YxOZ0H_uWvBDZ)#+j3IQiOhJWbQ59m1_z7f zEzf=s@}DlkkRFlIc!_i1M*2;pW;D%(w2>>TQFfxWF{{;^Qk6llyyc4pi-nc$9pm5K z9-yoBPZIFnfcb{`o2(S=ON3>KZ1Bjsss8s9xf17(bu7)Fn9j}nK?NbgmJ?Vu8>xrjSTN-ORNF7J}FNiZ{$IzaBn~Tzd3N4oGue+aA5gK+VY(+N}7&E9F z)_h-T7)!I_yZ@!h0i&M|`e3rWZ3OzGv_&*UZ%`k(reW3NF~Xka%%-AZXq%vCeXofW zdk!}0rIrAw0JfU$cf(V;DDf1rfe)?~8(NRE2lB%9wB;J|d!8ieet#P1+K3Ft^y;qJ zMbmh?WGn1WR-G3SgULk0c2uPu-+PfvBq7?Bs~e)c$t6PEG<0`e zKS4~Q;O1*R&J13fV|887O(&!|wWi~rbax59x_$soL^iJ#*4am0MK=4d3PK^QMHglq zCb_pW0*DaC>}7G-kf3gbiFKfu@-{c-^}99w*F{DjS;pz(w=BGnC$%6wptGAo$jUtU zIywnKeq4uK<9I|P55RRg#GuoshrnppN7RxZ6ZXyda_Wb;ew70ej09~ z)h{Dd%rf)O2be%RW^IAg&qc9APm`K<)=xyY+cNd7O0NA1Ar99wJrqBEdwzG+FGH^{ z7j8*g8&;Rob7ys?sZoEfFA+)s;^I5W@Up40p`WE*vkg|$!w#of9U)IYeUHF3!j#1f z5Z$z-7BxgnPM*&d*pNK4b+3p?k)XN70A~h7s7Q{<)fM2^O&1n!Io&`yg?nt(l9e&& z7RL}MNRM^&nlz{dioTa*(b9TEXY+M48UHEtZiiyrFhk;0wZD4rso9CnvDQo-#e}!| zl6*BH9!~B4Vd

|-EwKA4Xpx}Nd$ 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 { + if (res.confirm) { + wx.showLoading({ + title: '提交中...' + }) + + t.request('/miniprogram/user/onlineCarHailing', { mobile }, !0).then((res) => { + wx.hideLoading() + if (res.code == 200) { + wx.showToast({ + title: '设置成功', + icon: 'success' + }) + setTimeout(() => { + wx.navigateBack() + }, 1500) + } else { + wx.showToast({ + title: res.message || '设置失败', + icon: 'none' + }) + } + }) + } + } + }) + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad(options) { + + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady() { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow() { + + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide() { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload() { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh() { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom() { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage() { + + } +}) \ No newline at end of file diff --git a/pages/OnlineCarHailing/OnlineCarHailing.json b/pages/OnlineCarHailing/OnlineCarHailing.json new file mode 100644 index 0000000..8835af0 --- /dev/null +++ b/pages/OnlineCarHailing/OnlineCarHailing.json @@ -0,0 +1,3 @@ +{ + "usingComponents": {} +} \ No newline at end of file diff --git a/pages/OnlineCarHailing/OnlineCarHailing.wxml b/pages/OnlineCarHailing/OnlineCarHailing.wxml new file mode 100644 index 0000000..1ed4301 --- /dev/null +++ b/pages/OnlineCarHailing/OnlineCarHailing.wxml @@ -0,0 +1,9 @@ + + + 设置网约车用户 +

+ + +
+ + \ No newline at end of file diff --git a/pages/OnlineCarHailing/OnlineCarHailing.wxss b/pages/OnlineCarHailing/OnlineCarHailing.wxss new file mode 100644 index 0000000..e597b4c --- /dev/null +++ b/pages/OnlineCarHailing/OnlineCarHailing.wxss @@ -0,0 +1,25 @@ +.contain { + box-sizing: border-box; + min-height: 100vh; + background-color: #fafafa; +} + +.content { + padding: 60rpx 40rpx; +} + +.title { + font-size: 36rpx; + line-height: 1; + font-weight: 700; + color: #0056A3; +} + +.input { + margin: 40rpx 0; + padding: 22rpx; + border-radius: 10rpx; + background-color: #fff; + border: 2rpx solid #eee; + box-shadow: 0 6rpx 10rpx rgba(0, 0, 0, 0.1); +} \ No newline at end of file diff --git a/pages/common/common.wxml b/pages/common/common.wxml index 4ea3067..1f33a3b 100644 --- a/pages/common/common.wxml +++ b/pages/common/common.wxml @@ -1,20 +1,16 @@ diff --git a/pages/common/common.wxss b/pages/common/common.wxss deleted file mode 100644 index e69de29..0000000 diff --git a/pages/duiquan/duiquan.js b/pages/duiquan/duiquan.js index a31e33a..90b4901 100644 --- a/pages/duiquan/duiquan.js +++ b/pages/duiquan/duiquan.js @@ -1,12 +1,13 @@ -var t = require("../../utils/login.js"); +var e = getApp(), t = require("../../utils/login.js"); Page({ data: { pic: "https://jm-static.v0750.com/image/dui.jpg", tips: "温馨提示:\n1、请在30分钟内完成兑换,超时作废\n2、请在兑换完成后,在本页面点击\"确认兑换\"\n3、兑换成功后,将在3个工作日内发放奖品", + code: '' }, onLoad() { - t.request('/miniprogram/coupons', {}, !0).then((res) => { + t.request('/miniprogram/coupons/index', {}, !0).then((res) => { if (res.code == 200) { this.setData({ tips: res.data.tips, @@ -15,7 +16,58 @@ Page({ } }) }, + toScan: function () { + e.globalData.needJumpUrl = !1; + var a = this; + wx.scanCode({ + success: function (i) { + console.log(i), wx.showLoading({ + title: "" + }), e.globalData.qrcode = i.result, t.request("/miniprogram/identify/index", i, !0).then(function (t) { + console.log("data", t), wx.hideLoading(); + // 保存设备编号 + getApp().globalData.deviceData = t.data || getApp().globalData.deviceData || {}; + getApp().globalData.devicecode = t.data.devicecode || getApp().globalData.devicecode; + a.startup(); + }).catch(function (e) { + wx.hideLoading(); + }); + } + }); + }, + // 启动 + startup: function () { + if (getApp().globalData.deviceData.devicecode) { + // 合并参数 t.globalData.deviceData 与 washcode + let params = Object.assign(getApp().globalData.deviceData, { + washcode: this.data.code + }); + + // 已扫码,启动机器 + t.request('/miniprogram/' + getApp().globalData.deviceData.type + '/carwashcodestartup', params, !0).then((startRes) => { + if (startRes.code == 200) { + wx.showToast({ title: startRes.message || '启动成功', icon: 'success' }); + // 跳转到洗车券列表页面 + wx.redirectTo({ + // url: "/pages/washing/washing" + url: "/pages/index/index" + }) + } else { + wx.redirectTo({ + url: "/pages/washCodeList/washCodeList" + }); + wx.showToast({ title: startRes.message || '启动失败', icon: 'none' }); + } + }); + } else { + // 未扫码,提示 + wx.showToast({ + title: '请先扫码', + icon: 'none' + }) + } + }, onSubmitToGroup(e) { const code = e.detail.value.code if (!code) { @@ -32,15 +84,43 @@ Page({ t.request('/miniprogram/coupons/importDouyin', { code: code }, !0).then((res) => { wx.hideLoading() if (res.code == 200) { - wx.showToast({ - title: '兑换成功', - icon: 'success' - }); - setTimeout(() => { - wx.navigateTo({ - url: '/pages/washCodeList/washCodeList' - }) + + // 在当前页面记下券码 + this.setData({ + code: res.data.code }) + + wx.showModal({ + title: '兑换成功', + content: '是否立即使用?', + success: (result) => { + if (result.confirm) { + // 判断是否已扫码 + if (getApp().globalData.devicecode) { + + wx.showModal({ + title: "提示", + content: "你当前将要使用的机器编号是:".concat(getApp().globalData.deviceData.title || getApp().globalData.deviceData.devicecode, ",确认开机吗?"), + success: (res) => { + if (res.confirm) { + // 用户点击了确认按钮,执行开机操作 + this.startup(); + } else { + // 用户点击了取消按钮,跳转到洗车券列表页面 + wx.navigateTo({ url: '/pages/washCodeList/washCodeList' }); + } + } + }); + + } else { + // 未扫码,打开扫码页面 + this.toScan(); // 调用toScan方法,跳转到扫码页面 + } + } else { + wx.navigateTo({ url: '/pages/washCodeList/washCodeList' }); + } + } + }); } else { wx.showToast({ title: res.message || '兑换失败', diff --git a/pages/duiquan/duiquan.wxss b/pages/duiquan/duiquan.wxss index 7142362..a41d302 100644 --- a/pages/duiquan/duiquan.wxss +++ b/pages/duiquan/duiquan.wxss @@ -20,11 +20,14 @@ .input { margin: 30rpx 0; - padding: 22rpx; + padding: 0 22rpx; + height: 88rpx; + line-height: 88rpx; border-radius: 10rpx; background-color: #fff; border: 2rpx solid #eee; box-shadow: 0 6rpx 10rpx rgba(0, 0, 0, 0.1); + color: #333; } .tips { diff --git a/pages/goodsDetails/goodsDetails.js b/pages/goodsDetails/goodsDetails.js index 0415505..2442307 100644 --- a/pages/goodsDetails/goodsDetails.js +++ b/pages/goodsDetails/goodsDetails.js @@ -1,4 +1,4 @@ -var e = require("../../@babel/runtime/helpers/interopRequireDefault")(require("../../@babel/runtime/regenerator")), t = require("../../@babel/runtime/helpers/slicedToArray"), a = require("../../@babel/runtime/helpers/asyncToGenerator"), r = require("../../@babel/runtime/helpers/defineProperty"), n = (getApp(), +var e = require("../../@babel/runtime/helpers/interopRequireDefault")(require("../../@babel/runtime/regenerator")), t = require("../../@babel/runtime/helpers/slicedToArray"), a = require("../../@babel/runtime/helpers/asyncToGenerator"), r = require("../../@babel/runtime/helpers/defineProperty"), n = (getApp(), require("../../utils/login.js")), i = require("../../utils/common.js"); Page({ @@ -39,7 +39,7 @@ Page({ return e.default.wrap(function(e) { for (;;) switch (e.prev = e.next) { case 0: - return s, e.prev = 1, e.next = 4, n.request(n.baseUrl + "shop/details", { + return s, e.prev = 1, e.next = 4, n.request("https://t-jm.v0750.com/shop/details", { id: s.data.id }, !0); @@ -76,7 +76,7 @@ Page({ return e.default.wrap(function(e) { for (;;) switch (e.prev = e.next) { case 0: - r = t, e.prev = 1, n = [ "header", "title", "merchantList", "needknow", "infomes" ], + r = t, e.prev = 1, n = [ "header", "title", "merchantList", "needknow", "infomes" ], i = 0, s = 0; case 5: diff --git a/pages/goodsDetails/kefuBox/kefuBox.js b/pages/goodsDetails/kefuBox/kefuBox.js deleted file mode 100644 index d544c30..0000000 --- a/pages/goodsDetails/kefuBox/kefuBox.js +++ /dev/null @@ -1,7 +0,0 @@ -Component({ - properties: {}, - data: { - showDialog: !1 - }, - methods: {} -}); \ No newline at end of file diff --git a/pages/goodsDetails/kefuBox/kefuBox.json b/pages/goodsDetails/kefuBox/kefuBox.json deleted file mode 100644 index 7e37c03..0000000 --- a/pages/goodsDetails/kefuBox/kefuBox.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "component": true, - "usingComponents": {} -} \ No newline at end of file diff --git a/pages/goodsDetails/kefuBox/kefuBox.wxml b/pages/goodsDetails/kefuBox/kefuBox.wxml deleted file mode 100644 index 392c918..0000000 --- a/pages/goodsDetails/kefuBox/kefuBox.wxml +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - 霸王餐福利 - 加客服进「声色福利群」 - - - 点我添加 - - - - - - - - - - - 购买须知 - - - - 此券属平台与商家补贴,一经售出无法退款,请确认后再下单。 - - - - - - - - - - diff --git a/pages/goodsDetails/kefuBox/kefuBox.wxss b/pages/goodsDetails/kefuBox/kefuBox.wxss deleted file mode 100644 index d90d54f..0000000 --- a/pages/goodsDetails/kefuBox/kefuBox.wxss +++ /dev/null @@ -1,189 +0,0 @@ -.keufubox:last-child { - margin-bottom: -5.333vw; -} - -.kebox { - border-radius: 1.6vw; - width: 92vw; -} - -.kebox,.mykefu { - background: #fff; -} - -.mykefu { - -webkit-box-pack: justify; - -ms-flex-pack: justify; - height: 17.067vw; - justify-content: space-between; -} - -.mykefu .le { - -webkit-box-flex: 1; - flex: 1; -} - -.mykefu,.mykefu .le { - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; -} - -.mykefu .le image { - border-radius: 50%; - height: 9.6vw; - margin-right: 3.467vw; - max-width: 100%; - width: 9.6vw; -} - -.mykefu .le .box { - width: 57.333vw; -} - -.mykefu .le .title { - color: #2a2a2a; - font-size: 3.733vw; -} - -.mykefu .le .desc,.mykefu .le .title { - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; -} - -.mykefu .le .desc { - color: #969696; - font-size: 3.2vw; - line-height: 4.133vw; - width: 57.333vw; -} - -.kebox .btn { - border-radius: 6.667vw; - color: #fff; - font-size: 3.2vw; - height: 8.667vw; - line-height: 8.667vw; - position: relative; - text-align: center; -} - -.mykefu .btn { - background: #28c418; - font-size: 3.2vw; - width: 18.267vw; -} - -.modal-dialog { - position: fixed; - z-index: 20; -} - -.modal-dialog,.modal-dialog .modal { - height: 100%; - left: 0; - top: 0; - width: 100%; -} - -.modal-dialog .modal { - background: rgba(0,0,0,.5); - position: absolute; - transition: all .3s; -} - -.infopop-wrap { - left: 50%; - position: absolute; - top: 45%; - transform: translate(-50%,-50%); -} - -.infopop-content { - background-color: #fff; - border-radius: 2.133vw; - color: #666; - font-size: 4vw; - line-height: 5.333vw; - overflow: hidden; - padding-bottom: 6.667vw; - text-align: center; - width: 69.867vw; -} - -.info-buy_notice .top { - color: #fff; - height: 21.867vw; - margin-bottom: 3.467vw; - overflow: hidden; - position: relative; -} - -.info-buy_notice ._top { - background: #06a2b3; - border-radius: 0 0 50% 50%; - height: 100%; - left: 50%; - margin-bottom: 4vw; - position: absolute; - top: 0; - transform: translateX(-50%); - width: 120%; -} - -.info-buy_notice .top .title { - color: #fff; - font-size: 4.8vw; - left: 0; - position: absolute; - text-align: center; - top: 50%; - transform: translateY(-50%); - width: 100%; -} - -.info-buy_notice .txt { - font-size: 3.733vw; - line-height: 5.333vw; - padding: 0 4vw; - text-align: left; -} - -.info-buy_notice .btn { - background-color: #06a2b3; - border-radius: 10.667vw; - color: #fff; - font-size: 4vw; - height: 10.667vw; - line-height: 10.667vw; - margin-bottom: -2.133vw; - margin-top: 5.333vw; - text-align: center; - width: 34.667vw; -} - -.infopop-close { - background-color: #fff; - border-radius: 50%; - color: rgba(0,0,0,.6); - font-size: 8.267vw; - height: 8.533vw; - left: 50%; - line-height: 8.033vw; - margin: 4.267vw 0 0 -4.267vw; - padding: 0; - position: absolute; - text-align: center; - top: 100%; - width: 8.533vw; -} - -.info-buy_notice .btn::after,.info-buy_notice .btn::before { - background: transparent; - border: none; -} \ No newline at end of file diff --git a/pages/goodsDetails/matchWrap/matchWrap.js b/pages/goodsDetails/matchWrap/matchWrap.js deleted file mode 100644 index a85704f..0000000 --- a/pages/goodsDetails/matchWrap/matchWrap.js +++ /dev/null @@ -1,5 +0,0 @@ -Component({ - properties: {}, - data: {}, - methods: {} -}); \ No newline at end of file diff --git a/pages/goodsDetails/matchWrap/matchWrap.json b/pages/goodsDetails/matchWrap/matchWrap.json deleted file mode 100644 index 7e37c03..0000000 --- a/pages/goodsDetails/matchWrap/matchWrap.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "component": true, - "usingComponents": {} -} \ No newline at end of file diff --git a/pages/goodsDetails/matchWrap/matchWrap.wxml b/pages/goodsDetails/matchWrap/matchWrap.wxml deleted file mode 100644 index 2b3e41c..0000000 --- a/pages/goodsDetails/matchWrap/matchWrap.wxml +++ /dev/null @@ -1,34 +0,0 @@ - - - - - 为您搭配更优惠 - - - - - - - - 【新会】椰子鸡再次返场!9.9元起抢「骨汁恋·星汇店」100元代金券! - - - - - ¥ - 9. - 90 - - - ¥100.00 - - - - 立即抢购 - - - - - - - diff --git a/pages/goodsDetails/matchWrap/matchWrap.wxss b/pages/goodsDetails/matchWrap/matchWrap.wxss deleted file mode 100644 index 5274675..0000000 --- a/pages/goodsDetails/matchWrap/matchWrap.wxss +++ /dev/null @@ -1,171 +0,0 @@ -.match-wrap { - border-top: 2.667vw solid #f8f8f8; -} - -.goods-match { - background-color: #fff; - border-radius: 2.133vw; - display: block; - padding: 12vw 3.6vw 3.6vw; - position: relative; -} - -.goods-match .til { - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - background-color: #06a2b3; - border-radius: .533vw 2.933vw 2.933vw .533vw; - color: #fff; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - font-size: 3.2vw; - height: 5.867vw; - left: -.267vw; - padding-left: 1.467vw; - position: absolute; - top: 2.667vw; - width: 33.333vw; -} - -.goods-match .til view { - margin-right: 1.333vw; -} - -.goods-match .item { - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; -} - -.goods-match .hd { - -webkit-box-flex: 25.333vw; - border-radius: 1.6vw; - flex: 25.333vw 0 0; - height: 25.333vw; - overflow: hidden; - width: 25.333vw; -} - -.image-box.__100 { - padding-top: 100%; -} - -.image-box { - background-color: #ebebeb; - height: 0; - overflow: hidden; - position: relative; -} - -.image-box image { - height: 100%; - left: 0; - position: absolute; - top: 0; - width: 100%; -} - -.goods-match .bd { - -webkit-box-flex: 1; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -webkit-box-pack: justify; - -ms-flex-pack: justify; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - flex: 1; - flex-direction: column; - justify-content: space-between; - padding: 0 0 0 2.667vw; -} - -.goods-match .bd_name { - -webkit-box-orient: vertical; - -webkit-line-clamp: 3; - color: #2a2a2a; - display: -webkit-box; - font-size: 3.733vw; - height: 16vw; - line-height: 5.333vw; - overflow: hidden; - text-overflow: ellipsis; - word-break: break-all; -} - -.goods-match .bd ._btm { - -webkit-box-align: end; - -ms-flex-align: end; - align-items: flex-end; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; -} - -.goods-match .bd ._btm_lt { - -webkit-box-flex: 1; - flex: 1; -} - -.goods-match .bd_price { - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; -} - -.now-price { - color: #eb5252; - font-family: DIN; - font-size: 3.2vw; - line-height: 1.75em; -} - -.goods-match .bd_price .old { - color: #9b9b9b; - font-family: DIN; - font-size: 3.2vw; - margin-left: 1.333vw; - text-decoration: line-through; -} - -.goods-match .bd_btn { - background-color: #06a2b3; - border-radius: 3.333vw; - color: #fff; - font-size: 3.2vw; - height: 6.667vw; - line-height: 6.667vw; - padding: 0 3.6vw; - text-align: center; -} - -.now-price .symbol { - display: inline; - margin: 0 .267vw 0 0; -} - -.now-price.__normal .buck { - display: inline; - font-size: 4.8vw; -} - -.cent { - display: inline; -} - -.hot { - display: inline-block; - height: 13px; - margin-right: 4px; - width: 13px; -} \ No newline at end of file diff --git a/pages/goodsSearch/goodsSearch.js b/pages/goodsSearch/goodsSearch.js index 3ee570e..28f0bd0 100644 --- a/pages/goodsSearch/goodsSearch.js +++ b/pages/goodsSearch/goodsSearch.js @@ -1,4 +1,4 @@ -var t = require("../../@babel/runtime/helpers/interopRequireDefault")(require("../../@babel/runtime/regenerator")), a = require("../../@babel/runtime/helpers/toConsumableArray"), e = require("../../@babel/runtime/helpers/slicedToArray"), i = require("../../@babel/runtime/helpers/asyncToGenerator"), s = (getApp(), +var t = require("../../@babel/runtime/helpers/interopRequireDefault")(require("../../@babel/runtime/regenerator")), a = require("../../@babel/runtime/helpers/toConsumableArray"), e = require("../../@babel/runtime/helpers/slicedToArray"), i = require("../../@babel/runtime/helpers/asyncToGenerator"), s = (getApp(), require("../../utils/login.js")); Page({ @@ -43,7 +43,7 @@ Page({ page: 1 }); var t = this.data.historyList.indexOf(this.data.kw); - t > -1 && this.data.historyList.splice(t, 1), this.data.historyList.unshift(this.data.kw), + t > -1 && this.data.historyList.splice(t, 1), this.data.historyList.unshift(this.data.kw), this.setData({ historyList: this.data.historyList }), this.getData(); @@ -64,12 +64,12 @@ Page({ case 2: return r.setData({ loading: !0 - }), r, t.prev = 4, t.next = 7, s.request(s.baseUrl + "shop/search", { + }), r, t.prev = 4, t.next = 7, s.request("https://t-jm.v0750.com/shop/search", { keyword: r.data.kw }, !0); case 7: - n = t.sent, o = n.data, console.log("data,data", o), o.data.length < o.limit ? r.data.page = 0 : r.data.page += 1, + n = t.sent, o = n.data, console.log("data,data", o), o.data.length < o.limit ? r.data.page = 0 : r.data.page += 1, o.data.forEach(function(t) { var a = t.price.split("."), i = e(a, 2); t.price_buck = i[0], t.price_cent = i[1]; diff --git a/pages/index/index.js b/pages/index/index.js index 672f086..b3aa033 100644 --- a/pages/index/index.js +++ b/pages/index/index.js @@ -16,7 +16,10 @@ Page({ tabStatus: { coupon: !1, shop: !1 - } + }, + showOneTimeOptions: !1, + oneTimeOptions: [], + oneTimeLoading: !1 }, bindViewTap: function () { wx.navigateTo({ @@ -86,22 +89,22 @@ Page({ }, 50); }); }); - - e.globalData.devicecode = "1840001"; // 强制设置扫码状态 }, getData: function () { var a = this; // 获取首页数据 - t.request('/miniprogram/index/balance', {}, !0).then(function (e) { + t.request('/miniprogram/index/balance', e.globalData.deviceData, !0).then(function (e) { a.setData({ user: e.data || [], }); + // 存储进度订单 + wx.setStorageSync('progressorder', e.data.progressorder || []); }); }, load: function (e) { console.log(e); }, - openLocation: function(e) { + openLocation: function (e) { var latitude = Number(e.currentTarget.dataset.latitude); var longitude = Number(e.currentTarget.dataset.longitude); var name = e.currentTarget.dataset.name; @@ -125,7 +128,19 @@ Page({ }), (this.getData(), this.isneedUpload = !1); }, toPage: function (t) { - console.info(t); + + if (t.currentTarget.dataset.phone) { + + // 打开客服聊天窗口 + return wx.openCustomerServiceChat(); + + + // 增加打电话 + wx.makePhoneCall({ + phoneNumber: "" + t.currentTarget.dataset.phone + }); + return; + } var a = t.currentTarget.dataset, i = a.url, o = a.needlogin, n = a.showimg; if (console.log("showImg", n), i) { this.isneedUpload = !0; @@ -149,11 +164,13 @@ Page({ success: function (i) { console.log(i), wx.showLoading({ title: "" - }), e.globalData.qrcode = i.result, t.request("/miniprogram/identify", i, !0).then(function (t) { - console.log("data", t), wx.hideLoading(), e.globalData.devicecode = t.data.devicecode || e.globalData.devicecode, - a.setData({ - isScan: !!t.data.devicecode - }); + }), e.globalData.qrcode = i.result, t.request("/miniprogram/identify/index", i, !0).then(function (t) { + console.log("data", t), wx.hideLoading(), + e.globalData.deviceData = t.data || e.globalData.deviceData || {}; + e.globalData.devicecode = t.data.devicecode || e.globalData.devicecode; + a.setData({ + isScan: !!t.data.devicecode + }); }).catch(function (e) { wx.hideLoading(); }); @@ -170,41 +187,140 @@ Page({ e.globalData.needJumpUrl = !1, this.isneedUpload = !0; var t = this; if (console.log("this.isSubmit", this.isSubmit), this.isSubmit) return !1; - if (t.data.user.money <= 0) return t.startup(), !1; - if (t.data.user.money < 10) { - if (this.isshowModal) return t.startup(), !1; - this.isshowModal = !0, wx.showModal({ + wx.showActionSheet({ + itemList: ["单次消费", "立即启动"], + success: function (res) { + if (res.tapIndex === 0) { + t.openOneTimeOptions(); + } else { + if (t.data.user.money == 0) { + wx.showModal({ + title: "提示", + content: "您的洗车金额为0元,是否需要购买洗车金额?", + confirmText: "去购买", + cancelText: "取消", + success: function (m) { + if (m.confirm) { + wx.navigateTo({ + url: "/pages/voucher/voucher" + }), t.isneedUpload = !0; + } + } + }); + return; + } + else if (t.data.user.money < 10) { + wx.showModal({ + title: "提示", + content: "洗车金额不足10元,是否需要购买洗车金额还是直接开机?", + confirmText: "去购买", + cancelText: "直接开机", + success: function (m) { + if (m.confirm) { + wx.navigateTo({ + url: "/pages/voucher/voucher" + }), t.isneedUpload = !0; + } else { + t.startup(); + } + } + }); + return; + } + t.startup(); + } + } + }); + }, + openOneTimeOptions: function () { + var a = this; + if (a.data.oneTimeLoading) return !1; + a.setData({ oneTimeLoading: !0 }); + + // 获取单次洗车配置 + t.request('/miniprogram/single/getAgentConfig', e.globalData.deviceData || {}, !0).then(function (res) { + a.setData({ + oneTimeOptions: (res.data && Array.isArray(res.data)) ? res.data : (res.data && res.data.list ? res.data.list : []), + showOneTimeOptions: !0, + oneTimeLoading: !1 + }); + }).catch(function () { + a.setData({ oneTimeLoading: !1 }); + }); + }, + closeOneTimeOptions: function () { + this.setData({ showOneTimeOptions: !1 }); + }, + payOneTime: function (evt) { + var a = this, i = evt.currentTarget.dataset.token; + if (!i) return !1; + wx.showLoading({ title: "" }); + t.request('/miniprogram/single/create', { + token: i + }, !0).then(function (res) { + if (wx.hideLoading(), 200 != res.code) return wx.showModal({ title: "提示", - content: "账户余额小于10元,是否立即充值?", - confirmText: "去充值", - cancelText: "立即启动", - success: function (e) { - e.confirm ? (wx.navigateTo({ - url: "/pages/voucher/voucher" - }), t.isneedUpload = !0) : t.startup(); - }, - fail: function (e) { - console.log("fail:", e); + content: res.message || "" + }), !1; + var r = res.data.result; + var orderid = res.data.orderid; + wx.requestPayment({ + timeStamp: r.timeStamp, + nonceStr: r.nonceStr, + package: r.package, + signType: r.signType, + paySign: r.paySign, + success: function () { + a.setData({ showOneTimeOptions: !1 }); + var poll = function () { + t.request('/miniprogram/single/notify', { + orderid: orderid + }, !0).then(function (res) { + if (200 == res.code) { + wx.showModal({ + title: "提示", + content: "支付成功" + }); + wx.navigateTo({ + url: "/pages/voucher/voucher" + }); + return; + } + }).catch(function (err) { + if (err && err.code == 202) { + setTimeout(poll, 1500); + return; + } + if (err && err.code == 201) { + wx.showModal({ + title: "提示", + content: err.message || "" + }); + } + }); + }; + poll(); } }); - } else t.startup(); + }).catch(function () { + wx.hideLoading(); + }); }, startup: function () { var a = this; wx.showModal({ title: "提示", - content: "你当前将要使用的机器编号是:".concat(e.globalData.devicecode, ",确认开机吗?"), + content: "你当前将要使用的机器编号是:".concat(e.globalData.deviceData.title || e.globalData.deviceData.devicecode, ",确认开机吗?"), success: function (i) { i.confirm && (a.isSubmit = !0, wx.showLoading({ title: "正在启动" - }), t.request(e.globalData.config.machine.startup, { - washcode: a.data.selectID - }, !0).then(function (e) { + }), t.request('/miniprogram/' + e.globalData.deviceData.type + '/startup', e.globalData.deviceData || {}, !0).then(function (e) { a.isSubmit = !1, wx.hideLoading(), 200 == e.code && (wx.showModal({ title: "", content: e.message }), a.data.tmplIds.length > 0 && a.requestSubscribeMessage(), wx.redirectTo({ - url: "/pages/user/user" + // url: "/pages/washing/washing" + url: "/pages/index/index" }), a.isneedUpload = !0), 888 == e.code && (wx.navigateTo({ url: "/pages/voucher/voucher" }), a.isneedUpload = !0); @@ -229,4 +345,4 @@ Page({ }); }, onShareAppMessage: function () { } -}); \ No newline at end of file +}); diff --git a/pages/index/index.wxml b/pages/index/index.wxml index bec8583..d8f9803 100644 --- a/pages/index/index.wxml +++ b/pages/index/index.wxml @@ -6,19 +6,35 @@ - {{notice}} + + {{notice}} + + + 您有一笔洗车订单进行中... + 点击查看> + - 扫码启动 - - - 单次启动 - - - 余额启动 - + + 扫码启动 - \ No newline at end of file + + 立即启动 + + + + 选择单次消费档位 + 限单次洗车 + + + {{item.title}} + 支付{{item.actualprice}}元 · 洗车时间最长{{item.usetime}}分钟 + + + 取消 + + + diff --git a/pages/index/index.wxss b/pages/index/index.wxss index 2006e10..4f04e51 100644 --- a/pages/index/index.wxss +++ b/pages/index/index.wxss @@ -32,17 +32,6 @@ position: static; } -.two-btn .two-btns { - float: left; - width: 50%; - height: 126rpx; - padding-top: 10rpx; -} - -.two-btns.yue { - background-color: #f60; -} - .start-btn-box .scan-subscribe { margin-right: 10rpx; } @@ -129,7 +118,7 @@ top: -20rpx; color: #fff; background-color: #0056A3; - font-size: 24rpx; + font-size: 22rpx; padding: 0 12rpx; line-height: 36rpx; border-radius: 0 0 0 20rpx; @@ -168,4 +157,69 @@ right: 0; display: block; background-color: #37CE05; -} \ No newline at end of file +} + +.washing { + justify-content: space-between; + margin: 30rpx 0 0; + padding: 20rpx 28rpx; + display: flex; + background-color: #0056A3; + color: #fff; + font-size: 28rpx; +} + +.washing .l { + flex: 1; +} + +/* 单次消费弹窗 */ +.one-time-modal { + position: fixed; + left: 0; + right: 0; + top: 0; + bottom: 0; + background: rgba(0,0,0,0.5); + z-index: 1000; + display: flex; + align-items: center; + justify-content: center; +} +.one-time-inner { + width: 84%; + background: #fff; + border-radius: 16rpx; + padding: 24rpx 24rpx 16rpx; + box-shadow: 0 10rpx 30rpx rgba(0,0,0,.2); +} +.one-time-title { + font-size: 32rpx; + font-weight: 600; + color: #333; + text-align: center; +} +.one-time-tip { + font-size: 24rpx; + color: #999; + text-align: center; + margin-top: 8rpx; +} +.one-time-list { + margin-top: 20rpx; +} +.one-time-item { + border: 1px solid #eee; + border-radius: 12rpx; + padding: 20rpx; + margin-bottom: 16rpx; +} +.one-time-cancel { + margin-top: 8rpx; + background-color: #06a2b3; + color: #fff; + text-align: center; + line-height: 80rpx; + height: 80rpx; + border-radius: 12rpx; +} diff --git a/pages/listDetail/listDetail.js b/pages/listDetail/listDetail.js index 2c61e29..2582244 100644 --- a/pages/listDetail/listDetail.js +++ b/pages/listDetail/listDetail.js @@ -15,7 +15,7 @@ Page({ this.setData({ type: a.type }), wx.setNavigationBarTitle({ - title: "invest" == a.type ? "充值记录" : "消费明细" + title: "invest" == a.type ? "购买记录" : "消费明细" }), e.pageStart(t).then(function(t) { n.getContent(); }); @@ -45,7 +45,7 @@ Page({ wx.showLoading({ title: "" }); - var a = this, n = "invest" == this.data.type ? t.globalData.config.recharge.log : t.globalData.config.consume.init; + var a = this, n = "invest" == this.data.type ? '/miniprogram/recharge/log' : '/miniprogram/consume/index'; e.request(n, { page: this.data.page.next_page }, !0).then(function(t) { diff --git a/pages/listDetail/listDetail.wxml b/pages/listDetail/listDetail.wxml index f09b21b..68db0c6 100644 --- a/pages/listDetail/listDetail.wxml +++ b/pages/listDetail/listDetail.wxml @@ -7,7 +7,7 @@ {{item.message}} - {{item.timestamp}} + {{item.created_at}} {{item.symbol}}{{item.amount}} @@ -17,5 +17,5 @@ 暂无相关数据 - 立即充值 + 立即购买洗车金额 diff --git a/pages/mall/mall.js b/pages/mall/mall.js index bd46c5f..c2b991c 100644 --- a/pages/mall/mall.js +++ b/pages/mall/mall.js @@ -1,4 +1,4 @@ -var e = require("../../@babel/runtime/helpers/interopRequireDefault"), t = require("../../@babel/runtime/helpers/toConsumableArray"), a = e(require("../../@babel/runtime/regenerator")), n = require("../../@babel/runtime/helpers/slicedToArray"), o = require("../../@babel/runtime/helpers/asyncToGenerator"), r = (getApp(), +var e = require("../../@babel/runtime/helpers/interopRequireDefault"), t = require("../../@babel/runtime/helpers/toConsumableArray"), a = e(require("../../@babel/runtime/regenerator")), n = require("../../@babel/runtime/helpers/slicedToArray"), o = require("../../@babel/runtime/helpers/asyncToGenerator"), r = (getApp(), require("../../utils/login.js")); Page({ @@ -54,7 +54,7 @@ Page({ return a.default.wrap(function(t) { for (;;) switch (t.prev = t.next) { case 0: - return e, t.prev = 1, t.next = 4, r.request(r.baseUrl + "shop/home", {}, !0); + return e, t.prev = 1, t.next = 4, r.request("https://t-jm.v0750.com/shop/home", {}, !0); case 4: o = t.sent, (s = o.data).recommendedList.forEach(function(e) { @@ -99,7 +99,7 @@ Page({ case 3: return s.setData({ loading: !0 - }), e.prev = 4, e.next = 7, r.request(r.baseUrl + "shop/home/shopList", { + }), e.prev = 4, e.next = 7, r.request("https://t-jm.v0750.com/shop/home/shopList", { type: s.data.tab, point: { lng: s.longitude, diff --git a/pages/map/map.wxml b/pages/map/map.wxml index 0231ca8..58194c0 100644 --- a/pages/map/map.wxml +++ b/pages/map/map.wxml @@ -39,10 +39,8 @@ - - diff --git a/pages/map/map.wxss b/pages/map/map.wxss index 28dc745..252da3c 100644 --- a/pages/map/map.wxss +++ b/pages/map/map.wxss @@ -8,11 +8,6 @@ position: fixed; } -.custom-btn .btn button { - border: 0; - -} - .custom-btn .btn { background: #fff; border: 2rpx solid #e4e4e4; @@ -25,7 +20,6 @@ text-align: center; width: 88rpx; z-index: 130; - overflow: hidden; } .iconfont { diff --git a/pages/orderDetails/orderDetails.js b/pages/orderDetails/orderDetails.js index 5e4b49d..670a79c 100644 --- a/pages/orderDetails/orderDetails.js +++ b/pages/orderDetails/orderDetails.js @@ -1,4 +1,4 @@ -var e = require("../../@babel/runtime/helpers/interopRequireDefault")(require("../../@babel/runtime/regenerator")), r = require("../../@babel/runtime/helpers/asyncToGenerator"), t = (getApp(), +var e = require("../../@babel/runtime/helpers/interopRequireDefault")(require("../../@babel/runtime/regenerator")), r = require("../../@babel/runtime/helpers/asyncToGenerator"), t = (getApp(), require("../../utils/login.js")), a = require("../../utils/common.js"); Page({ @@ -26,12 +26,12 @@ Page({ return e.default.wrap(function(e) { for (;;) switch (e.prev = e.next) { case 0: - return i, o = i.data.orderid, e.prev = 2, e.next = 5, t.request(t.baseUrl + "shop/order/detail", { + return i, o = i.data.orderid, e.prev = 2, e.next = 5, t.request("https://t-jm.v0750.com/shop/order/detail", { orderid: o }, !0); case 5: - if (n = e.sent, (d = n.data).orderData.updatetime = a.changeTime(new Date(1e3 * d.orderData.updatetime)), + if (n = e.sent, (d = n.data).orderData.updatetime = a.changeTime(new Date(1e3 * d.orderData.updatetime)), d.orderValidity && d.orderValidity.length > 0) for (c = 0; c < d.orderValidity.length; c++) i.data.orderValidity[c] = a.changeTime(new Date(1e3 * d.orderValidity[c])); i.setData({ showLoding: !1, diff --git a/pages/orderIndex/orderIndex.js b/pages/orderIndex/orderIndex.js index 0d8fa99..dc606c5 100644 --- a/pages/orderIndex/orderIndex.js +++ b/pages/orderIndex/orderIndex.js @@ -1,4 +1,4 @@ -var t = require("../../@babel/runtime/helpers/interopRequireDefault")(require("../../@babel/runtime/regenerator")), e = require("../../@babel/runtime/helpers/asyncToGenerator"), a = (getApp(), +var t = require("../../@babel/runtime/helpers/interopRequireDefault")(require("../../@babel/runtime/regenerator")), e = require("../../@babel/runtime/helpers/asyncToGenerator"), a = (getApp(), require("../../utils/login.js")); Page({ @@ -82,7 +82,7 @@ Page({ return t.default.wrap(function(t) { for (;;) switch (t.prev = t.next) { case 0: - return t.prev = 0, t.next = 3, a.request(a.baseUrl + "shop/order/create", { + return t.prev = 0, t.next = 3, a.request("https://t-jm.v0750.com/shop/order/create", { token: n.data.token }, !0); @@ -119,7 +119,7 @@ Page({ return t.default.wrap(function(t) { for (;;) switch (t.prev = t.next) { case 0: - return t.prev = 0, t.next = 3, a.request(a.baseUrl + "shop/order/num", { + return t.prev = 0, t.next = 3, a.request("https://t-jm.v0750.com/shop/order/num", { uniqid: n.data.shoppingCartList.uniqid, cartnum: n.data.num }, !0); diff --git a/pages/orderList/orderList.js b/pages/orderList/orderList.js index a2e23a3..ffbe438 100644 --- a/pages/orderList/orderList.js +++ b/pages/orderList/orderList.js @@ -1,4 +1,4 @@ -var t = require("../../@babel/runtime/helpers/interopRequireDefault")(require("../../@babel/runtime/regenerator")), a = require("../../@babel/runtime/helpers/toConsumableArray"), e = require("../../@babel/runtime/helpers/asyncToGenerator"), n = (getApp(), +var t = require("../../@babel/runtime/helpers/interopRequireDefault")(require("../../@babel/runtime/regenerator")), a = require("../../@babel/runtime/helpers/toConsumableArray"), e = require("../../@babel/runtime/helpers/asyncToGenerator"), n = (getApp(), require("../../utils/login.js")); Page({ @@ -70,7 +70,7 @@ Page({ case 2: return r.setData({ loading: !0 - }), t.prev = 3, t.next = 6, n.request(n.baseUrl + "shop/order/lists", { + }), t.prev = 3, t.next = 6, n.request("https://t-jm.v0750.com/shop/order/lists", { page: r.data.next_page, typeid: r.data.tab }, !0); @@ -79,7 +79,7 @@ Page({ s = t.sent, i = s.data, r.setData({ loading: !1, showLoding: !1 - }), 200 == s.code && (i.data.length < i.limit ? r.data.next_page = 0 : r.data.next_page += 1, + }), 200 == s.code && (i.data.length < i.limit ? r.data.next_page = 0 : r.data.next_page += 1, r.setData({ type: i.type, count: i.count, @@ -108,7 +108,7 @@ Page({ case 0: return s = a.currentTarget.dataset, i = s.orderid, o = s.index, wx.showLoading({ title: "正在删除" - }), t.prev = 2, t.next = 5, n.request(n.baseUrl + "shop/order/delete", { + }), t.prev = 2, t.next = 5, n.request("https://t-jm.v0750.com/shop/order/delete", { orderid: i }, !0); diff --git a/pages/orderPay/orderPay.js b/pages/orderPay/orderPay.js index fb7f55e..50d636f 100644 --- a/pages/orderPay/orderPay.js +++ b/pages/orderPay/orderPay.js @@ -1,4 +1,4 @@ -var e = require("../../@babel/runtime/helpers/interopRequireDefault")(require("../../@babel/runtime/regenerator")), t = require("../../@babel/runtime/helpers/asyncToGenerator"), a = (getApp(), +var e = require("../../@babel/runtime/helpers/interopRequireDefault")(require("../../@babel/runtime/regenerator")), t = require("../../@babel/runtime/helpers/asyncToGenerator"), a = (getApp(), require("../../utils/login.js")), r = require("../../utils/common.js"); Page({ @@ -41,7 +41,7 @@ Page({ return e.default.wrap(function(e) { for (;;) switch (e.prev = e.next) { case 0: - return r, e.prev = 1, e.next = 4, a.request(a.baseUrl + "shop/order/submit", { + return r, e.prev = 1, e.next = 4, a.request("https://t-jm.v0750.com/shop/order/submit", { uniqid: r.data.uniqid, name: r.data.name, mobile: r.data.mobile, @@ -74,15 +74,15 @@ Page({ return e.default.wrap(function(e) { for (;;) switch (e.prev = e.next) { case 0: - return n, s = n.data.orderid || n.data.data.orderid, e.prev = 2, e.next = 5, a.request(a.baseUrl + "shop/order/detail", { + return n, s = n.data.orderid || n.data.data.orderid, e.prev = 2, e.next = 5, a.request("https://t-jm.v0750.com/shop/order/detail", { orderid: s }, !0); case 5: - i = e.sent, o = i.data, console.log("(data.orderData.status", o.orderData.status), + i = e.sent, o = i.data, console.log("(data.orderData.status", o.orderData.status), 1 == o.orderData.status && wx.redirectTo({ url: "/pages/orderPaySuccess/orderPaySuccess?orderid=" + o.orderData.orderid - }), o.orderData.updatetime = r.changeTime(new Date(1e3 * o.orderData.updatetime)), + }), o.orderData.updatetime = r.changeTime(new Date(1e3 * o.orderData.updatetime)), n.setData({ showLoding: !1, ordercart: o.ordercart, @@ -143,7 +143,7 @@ Page({ return e.abrupt("return", !1); case 7: - return r.ispay = !0, n = r, e.prev = 9, e.next = 12, a.request(a.baseUrl + "shop/order/pay", { + return r.ispay = !0, n = r, e.prev = 9, e.next = 12, a.request("https://t-jm.v0750.com/shop/order/pay", { token: r.data.token, mark: r.data.tips }, !0); diff --git a/pages/orderPaySuccess/matchList/matchList.js b/pages/orderPaySuccess/matchList/matchList.js deleted file mode 100644 index a85704f..0000000 --- a/pages/orderPaySuccess/matchList/matchList.js +++ /dev/null @@ -1,5 +0,0 @@ -Component({ - properties: {}, - data: {}, - methods: {} -}); \ No newline at end of file diff --git a/pages/orderPaySuccess/matchList/matchList.json b/pages/orderPaySuccess/matchList/matchList.json deleted file mode 100644 index 7e37c03..0000000 --- a/pages/orderPaySuccess/matchList/matchList.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "component": true, - "usingComponents": {} -} \ No newline at end of file diff --git a/pages/orderPaySuccess/matchList/matchList.wxml b/pages/orderPaySuccess/matchList/matchList.wxml deleted file mode 100644 index 145afe0..0000000 --- a/pages/orderPaySuccess/matchList/matchList.wxml +++ /dev/null @@ -1,23 +0,0 @@ - - - 搭配更优惠 - - - - - - - - 【新会】椰子鸡再次返场!9.9元起抢「骨汁恋·星汇店」100元代金券! - - - - ¥9.90 - ¥100.00 - - 立即抢购 - - - - - diff --git a/pages/orderPaySuccess/matchList/matchList.wxss b/pages/orderPaySuccess/matchList/matchList.wxss deleted file mode 100644 index 85a80ee..0000000 --- a/pages/orderPaySuccess/matchList/matchList.wxss +++ /dev/null @@ -1,137 +0,0 @@ -.info-wrap { - background-color: #fff; - border-top: 3.2vw solid #f8f8f8; - padding: 0 4vw 5.333vw; -} - -.module-title { - color: #2a2a2a; - font-size: 4.267vw; - font-weight: 700; - line-height: 1; - margin: 5.333vw 0 8.533vw; - text-align: center; -} - -.module-title .tit { - display: inline-block; - position: relative; - vertical-align: top; -} - -.module-title .line { - background-color: #06a2b3; - border-radius: .8vw; - height: .8vw; - left: 35%; - margin-top: 2.133vw; - position: absolute; - top: 100%; - width: 30%; -} - -.tuijian-goods { - border-radius: 1.6vw; - box-shadow: 0 1.067vw 2.667vw 0 rgba(0,0,0,.08); - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - padding: 3.6vw; -} - -.tuijian-goods .lt { - -ms-flex-negative: 0; - flex-shrink: 0; -} - -.tuijian-goods .lt image { - display: block; - height: 26vw; - width: 26vw; -} - -.tuijian-goods .tuijian-rt { - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -webkit-box-pack: justify; - -ms-flex-pack: justify; - -webkit-box-flex: 1; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - flex: 1; - flex-direction: column; - justify-content: space-between; - margin-left: 3.2vw; -} - -.tuijian-goods .vip-price { - width: max-content; -} - -.tuijian-goods .goods-name { - -webkit-box-orient: vertical; - -webkit-line-clamp: 2; - color: #2a2a2a; - display: -webkit-box; - font-size: 3.733vw; - font-weight: 500; - overflow: hidden; - text-overflow: ellipsis; - word-break: break-all; -} - -.tuijian-goods .goods-info .price { - -webkit-box-align: center; - -ms-flex-align: center; - -webkit-box-pack: justify; - -ms-flex-pack: justify; - align-items: center; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - justify-content: space-between; -} - -.tuijian-goods .goods-info .now-price { - color: #eb5252; - font-size: 3.467vw; - font-weight: 500; - margin-right: 3.2vw; -} - -.tuijian-goods .goods-info .old-price { - color: #9b9b9b; - font-size: 3.2vw; - text-decoration: line-through; -} - -.tuijian-goods .goods-info .btn { - -ms-flex-negative: 0; - background-color: #06a2b3; - border-radius: .933vw; - color: #fff; - flex-shrink: 0; - font-size: 3.2vw; - height: 6.667vw; - line-height: 6.667vw; - text-align: center; - width: 18.667vw; -} - -.vip-price { - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - background-color: #2a2a2a; - border-radius: .8vw; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - font-size: 2.933vw; - margin-right: 2.667vw; -} \ No newline at end of file diff --git a/pages/orderPaySuccess/orderPaySuccess.js b/pages/orderPaySuccess/orderPaySuccess.js index ea3c5ff..f0e5a54 100644 --- a/pages/orderPaySuccess/orderPaySuccess.js +++ b/pages/orderPaySuccess/orderPaySuccess.js @@ -1,4 +1,4 @@ -var e = require("../../@babel/runtime/helpers/interopRequireDefault")(require("../../@babel/runtime/regenerator")), r = require("../../@babel/runtime/helpers/slicedToArray"), t = require("../../@babel/runtime/helpers/asyncToGenerator"), i = (getApp(), +var e = require("../../@babel/runtime/helpers/interopRequireDefault")(require("../../@babel/runtime/regenerator")), r = require("../../@babel/runtime/helpers/slicedToArray"), t = require("../../@babel/runtime/helpers/asyncToGenerator"), i = (getApp(), require("../../utils/login.js")); require("../../utils/common.js"); @@ -22,7 +22,7 @@ Page({ return e.default.wrap(function(e) { for (;;) switch (e.prev = e.next) { case 0: - return n, e.prev = 1, a = n.data.orderid, e.next = 5, i.request(i.baseUrl + "shop/notify/paymentSuccessful", { + return n, e.prev = 1, a = n.data.orderid, e.next = 5, i.request("https://t-jm.v0750.com/shop/notify/paymentSuccessful", { orderid: a }, !0); diff --git a/pages/refund/refund.js b/pages/refund/refund.js new file mode 100644 index 0000000..c377a87 --- /dev/null +++ b/pages/refund/refund.js @@ -0,0 +1,149 @@ +var t = require("../../utils/login.js"); + +Page({ + data: { + userInfo: { + mobile: '', + uid: '', + givenamount: "0.00", + money: "0.00", + principal: "0.00", + }, // 用户查询结果 + list: [], // 退款记录列表 + showResult: false // 控制查询结果显示 + }, + + onSubmitToGroup(e) { + const mobile = e.detail.value.code + if (!mobile) { + wx.showToast({ + title: '请输入手机号码', + icon: 'none' + }) + return + } + + // 手机号格式验证 + if (!/^1[3-9]\d{9}$/.test(mobile)) { + wx.showToast({ + title: '请输入正确的手机号码', + icon: 'none' + }) + return + } + + wx.showLoading({ + title: '查询中...' + }) + + t.request('/miniprogram/refund/query', { mobile }, !0).then((res) => { + wx.hideLoading() + if (res.code == 200) { + this.setData({ + userInfo: res.data.user, + list: res.data.list, + showResult: true + }) + } else { + wx.showToast({ + title: res.message || '查询失败', + icon: 'none' + }) + } + }) + }, + + // 线上退款 + onSubmitToGroup1() { + wx.showModal({ + title: '确认退款', + content: '确定退款,将清零用户赠送金额,退还本金', + success: (res) => { + if (res.confirm) { + wx.showLoading({ + title: '退款中...' + }) + if (!this.data.userInfo.recharge || !this.data.userInfo.token) { + wx.showToast({ + title: '退款信息不完整', + icon: 'none' + }) + return + } + t.request('/miniprogram/pay/refund', {token: this.data.userInfo.token}, !0).then((res) => { + wx.hideLoading() + if (res.code == 200) { + wx.showToast({ + title: '退款成功', + icon: 'success' + }) + // 刷新页面数据 + this.setData({ + showResult: false, + userInfo: { + mobile: '', + uid: '', + givenamount: "0.00", + money: "0.00", + principal: "0.00" + } + }) + } else { + wx.showToast({ + title: res.message || '退款失败', + icon: 'none' + }) + } + }) + } + } + }) + }, + + // 线下退款 + onSubmitToGroup2() { + wx.showModal({ + title: '确认退款', + content: `确定退款金额:${this.data.userInfo.money}元`, + success: (res) => { + if (res.confirm) { + wx.showLoading({ + title: '退款中...' + }) + if (!this.data.userInfo.token) { + wx.showToast({ + title: '退款信息不完整', + icon: 'none' + }) + return + } + t.request('/miniprogram/pay/refundOffline', {token: this.data.userInfo.token}, !0).then((res) => { + wx.hideLoading() + if (res.code == 200) { + wx.showToast({ + title: '退款成功', + icon: 'success' + }) + // 刷新页面数据 + this.setData({ + showResult: false, + userInfo: { + mobile: '', + uid: '', + givenamount: "0.00", + money: "0.00", + principal: "0.00" + } + }) + } else { + wx.showToast({ + title: res.message || '退款失败', + icon: 'none' + }) + } + }) + } + } + }) + } +}) \ No newline at end of file diff --git a/pages/refund/refund.json b/pages/refund/refund.json new file mode 100644 index 0000000..8835af0 --- /dev/null +++ b/pages/refund/refund.json @@ -0,0 +1,3 @@ +{ + "usingComponents": {} +} \ No newline at end of file diff --git a/pages/refund/refund.wxml b/pages/refund/refund.wxml new file mode 100644 index 0000000..a220553 --- /dev/null +++ b/pages/refund/refund.wxml @@ -0,0 +1,61 @@ + + + 退款 +
+ + +
+ + + + + 手机号:{{userInfo.mobile}} + 用户ID:{{userInfo.uid}} + + + 总余额 + {{userInfo.money}} + + + 洗车金 + {{userInfo.principal}} + + + 赠送金额 + {{userInfo.givenamount}} + + + + + + +
+ + 本金:{{userInfo.recharge.money || ''}} + 赠送:{{userInfo.recharge.bonusamount || ''}} + 订单号:{{userInfo.recharge.orderid || ''}} + 购买时间:{{userInfo.recharge.date || ''}} + 网点:{{userInfo.recharge.agent || ''}} + + +
+ +
+ + 本金:{{userInfo.recharge.money || ''}} + 赠送:{{userInfo.recharge.bonusamount || ''}} + 订单号:{{userInfo.recharge.orderid || ''}} + 购买时间:{{userInfo.recharge.date || ''}} + 网点:{{userInfo.recharge.agent || ''}} + + +
+ + + + 没有可退款记录 + + +
+
+
\ No newline at end of file diff --git a/pages/refund/refund.wxss b/pages/refund/refund.wxss new file mode 100644 index 0000000..4ce75bd --- /dev/null +++ b/pages/refund/refund.wxss @@ -0,0 +1,93 @@ +.contain { + box-sizing: border-box; + min-height: 100vh; + background-color: #fafafa; +} + +.content { + padding: 60rpx 40rpx; +} + +.title { + font-size: 36rpx; + line-height: 1; + font-weight: 700; + color: #0056A3; +} + +.input { + margin: 40rpx 0; + padding: 22rpx; + border-radius: 10rpx; + background-color: #fff; + border: 2rpx solid #eee; + box-shadow: 0 6rpx 10rpx rgba(0, 0, 0, 0.1); +} + +.userInfo { + padding-top: 22rpx; + border-top: 2rpx solid #eee; +} + +.info { + padding: 22rpx 32rpx; + border-radius: 10rpx; + background-color: #fff; + border: 2rpx solid #eee; + box-shadow: 0 6rpx 10rpx rgba(0, 0, 0, 0.1); + margin-bottom: 30rpx; + line-height: 2; +} + +.info .mt { + margin-top: 30rpx; +} + +.info .r { + color: #C13700; + font-weight: 700; +} + +.info .g { + color: #60BB46; + font-weight: 700; +} + +.balance-info { + display: flex; + justify-content: space-between; + margin-top: 20rpx; + padding: 20rpx 0; + border-top: 2rpx solid #eee; +} + +.balance-item { + flex: 1; + text-align: center; +} + +.balance-item .label { + font-size: 24rpx; + color: #666; + margin-bottom: 10rpx; +} + +.balance-item .value { + font-size: 32rpx; + font-weight: 700; +} + +.balance-item .b { + color: #0056A3; +} + +.no-refund-info { + margin-top: 20rpx; +} + +.no-refund-text { + text-align: center; + color: #999; + font-size: 28rpx; + padding: 40rpx 0; +} \ No newline at end of file diff --git a/pages/singleStart/singleStart.wxml b/pages/singleStart/singleStart.wxml index 0917333..682476d 100644 --- a/pages/singleStart/singleStart.wxml +++ b/pages/singleStart/singleStart.wxml @@ -1,75 +1,12 @@ 请选择单次洗车金额 - - - - 3元 - 5洗车金 - - 1、洗车金用完,机器自动停止。\n 2、洗车金没用完,到达[ 10分钟 ]机器自动停止。 - - - - - - 6元 - 10洗车金 - - 1、洗车金用完,机器自动停止。\n 2、洗车金没用完,到达[ 20分钟 ]机器自动停止。 - - - - - - 10元 - 15洗车金 - - 1、洗车金用完,机器自动停止。\n 2、洗车金没用完,到达[ 30分钟 ]机器自动停止。 - - - - - - 10元 - 15洗车金 - - 1、洗车金用完,机器自动停止。\n 2、洗车金没用完,到达[ 30分钟 ]机器自动停止。 - - + 6.00元 - - - - 暂无相关数据 - - - - - 暂无相关数据 - - 立即启动·单次洗车 - - - - - - - 注意事项: - - 1、没有完成洗车,请勿按红色“结束”按钮 - 2、单次洗车不支持余额支付; - 3、单次洗车仅限1次洗车,不得分开多次使用; - 4、购买单次洗车后,将获得相应的洗车金和洗车时长; - 5、购买单次洗车后,洗车机将立即启动,请确保你在洗车机前; - 6、洗车金为本次最多可用金额,按量扣费; - 7、洗车时长为本次最长可用时间,洗车机启动后开始计时; - 8、当洗车金为0或达到洗车时长,洗车机将自动结束洗车; - - - + + 余额洗车 + 单次启动 + diff --git a/pages/singleStart/singleStart.wxss b/pages/singleStart/singleStart.wxss index 1172729..ab19788 100644 --- a/pages/singleStart/singleStart.wxss +++ b/pages/singleStart/singleStart.wxss @@ -11,163 +11,42 @@ padding: 0; } -.list .item { - position: relative; - padding-left: 286rpx; - background: #fff; - border: 5rpx solid #0281db; - border-radius: 26rpx; - box-sizing: border-box; - color: #0281db; - flex-direction: column; - height: 158rpx; - justify-content: center; - margin: 0 0 28rpx; - width: 100%; - overflow: hidden; +.item { + background-color: #fff; + border-radius: 18rpx; + box-shadow: 0 0rpx 9rpx 4rpx hsla(0,0%,40%,.3); + color: #333; + font-size: 87rpx; + height: 180rpx; + line-height: 180rpx; + margin-bottom: 32rpx; + text-align: center; } -.list .item .g, .list .item .j { - position: absolute; -} -.list .item .g { - left: 0; - top: 0; - height: 153rpx; - width: 158rpx; - line-height: 153rpx; - text-align: center; - background-color: #0281db; - color: #fff; - font-size: 50rpx; +.item.active { + box-shadow: 0 0rpx 9rpx 4rpx rgba(255,102,0,.3); + color: #f60; } -.list .item .g .u { - position: absolute; - right: -25rpx; - top: 55rpx; - width: 40rpx; - height: 40rpx; - font-size: 26rpx; - line-height: 40rpx; - border-radius: 100rpx; - border: 5rpx solid #0281db; - color: #0281db; - background-color: #fff; +.footer-btn-box { + bottom: 0; + color: #fff; + display: flex; + font-size: 44rpx; + left: 0; + position: fixed; + width: 100vw; } -.list .item .j { - left: 158rpx; - top: 0; - height: 153rpx; - width: 138rpx; - font-size: 66rpx; - line-height: 108rpx; - text-align: center; +.footer-btn-box .btn { + align-items: center; + background: #4cadf1; + display: inline-flex; + flex: 1; + height: 104rpx; + justify-content: center; } -.list .item .j .p { - font-size: 26rpx; - line-height: 1; -} - -.list .item .t { - font-size: 25rpx; - height: 153rpx; - display: flex; - align-items: center; - justify-content: center; - padding: 0 20rpx; - background-color: #eee; -} - -.list .item .t .b { - font-weight: 700; - color: #1baa1c; -} - -.list .item.select, .list .item.select .g .u { - border-color: #f50; - color: #f50; -} - -.list .item.select .g { - background-color: #f50; -} - -.list .item.active, .list .item.active .g .u { - border-color: #4cadf1; - color: #4cadf1; -} - -.list .item.active .g { - background-color: #4cadf1; -} - -.list .item.active.select, .list .item.active.select .g .u { - border-color: #f90; - color: #f90; -} - -.list .item.active.select .g { - background-color: #f90; -} - - -.tobuy-btn { - align-items: center; - background: #1baa1c; - border: 2rpx solid #218721; - border-radius: 18rpx; - color: #fff; - display: flex; - font-size: 33rpx; - height: 91rpx; - justify-content: center; - margin-top: 3rpx; -} - -.tobuy-btn.disabled { - opacity: .7; -} - -.provision { - display: block; - margin: 40rpx 0 0; - font-size: 26rpx; -} - -.provision .text { - color: #0281db; - display: inline-block; -} - -.warm-prompt { - padding: 60rpx 0; -} - -.warm-prompt .title { - color: #f30; - font-size: 32rpx; - font-weight: 600; - margin-bottom: 16rpx; -} - -.warm-prompt .content { - color: #666; - font-size: 26rpx; - line-height: 1.8; -} - -.warm-prompt .content .view { - margin-bottom: 10rpx; -} - -.warm-prompt .content view b { - font-weight: 700; - color: red; -} - -.scan-btn { - background-color: #218721; +.btn.yellow { + background: #fccaa9; } \ No newline at end of file diff --git a/pages/substituteWash/substituteWash.js b/pages/substituteWash/substituteWash.js new file mode 100644 index 0000000..f7321b1 --- /dev/null +++ b/pages/substituteWash/substituteWash.js @@ -0,0 +1,199 @@ +var t = getApp(), e = require("../../utils/login.js"); + +Page({ + + /** + * 页面的初始数据 + */ + data: { + userInfo: {}, + balance: 0, + loading: true, + paySuccess: false, + orderInfo: {}, + token: '', + }, + + /** + * 生命周期函数--监听页面加载 + */ + onShow(options) { + var a = this; + // 等待全局接口执行完成后再初始化页面 + e.pageStart(t).then(function () { + a.initPage(); + }); + }, + + /** + * 初始化页面数据 + */ + initPage() { + var a = this; + a.setData({ + loading: true + }); + + e.request('/miniprogram/substituteWash/index', {}, true).then(function (res) { + a.setData({ + loading: false + }); + + if (res.code === 200 && res.data) { + a.setData({ + orderInfo: res.data.orderInfo || {}, + balance: res.data.balance || 0, + token: res.data.token || '', + }); + } else { + wx.showToast({ + title: res.message || '获取数据失败', + icon: 'none', + duration: 2000 + }); + } + }).catch(function (err) { + a.setData({ + loading: false + }); + + wx.showToast({ + title: '获取数据失败', + icon: 'none', + duration: 2000 + }); + }); + }, + + /** + * 确认洗车 + */ + confirmWash() { + var a = this; + + wx.showModal({ + title: '确认洗车', + content: '确定要进行帮洗服务吗?', + success: (res) => { + if (res.confirm) { + a.payForWash(); + } + } + }); + }, + + /** + * 支付洗车费用 + */ + payForWash() { + var a = this; + + wx.showLoading({ + title: '处理中', + mask: true + }); + + e.request('/miniprogram/substituteWash/pay', { token: a.data.token }, true).then(function (res) { + wx.hideLoading(); + + if (res.code === 200) { + wx.showToast({ + title: '支付成功', + icon: 'success', + duration: 2000 + }); + + // 更新余额信息和支付状态 + let updateData = { + paySuccess: true + }; + + if (res.data && res.data.balance !== undefined) { + updateData.balance = res.data.balance; + } + + if (res.data && res.data.orderInfo) { + updateData.orderInfo = res.data.orderInfo; + } + + a.setData(updateData); + + // 可以在这里添加支付成功后的其他操作 + } else { + wx.showModal({ + title: '支付失败', + content: res.message || '请稍后再试', + showCancel: false + }); + } + }).catch(function (err) { + wx.hideLoading(); + }); + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady() { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow() { + // 如果不是支付成功状态,则重新初始化页面 + if (!this.data.paySuccess) { + var a = this; + e.pageStart(t).then(function () { + a.initPage(); + }); + } + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide() { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload() { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh() { + var a = this; + e.pageStart(t).then(function () { + a.initPage(); + wx.stopPullDownRefresh(); + }); + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom() { + + }, + + /** + * 禁止页面分享 + */ + onShareAppMessage: null, + + /** + * 返回首页 + */ + backToIndex() { + wx.redirectTo({ + url: '/pages/index/index' + }); + } +}) \ No newline at end of file diff --git a/pages/substituteWash/substituteWash.json b/pages/substituteWash/substituteWash.json new file mode 100644 index 0000000..30272a9 --- /dev/null +++ b/pages/substituteWash/substituteWash.json @@ -0,0 +1,8 @@ +{ + "navigationBarTitleText": "帮洗服务", + "enablePullDownRefresh": true, + "backgroundColor": "#f8f8f8", + "usingComponents": { + "service-tel": "/template/serviceTel/serviceTel" + } +} \ No newline at end of file diff --git a/pages/substituteWash/substituteWash.wxml b/pages/substituteWash/substituteWash.wxml new file mode 100644 index 0000000..6fe5127 --- /dev/null +++ b/pages/substituteWash/substituteWash.wxml @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + 加载中... + + + + + + + + + + + 支付成功 + + + + 洗车网点 + {{orderInfo.agentname || userInfo.nickname || '---'}} + + + 订单编号 + {{orderInfo.orderNo || '---'}} + + + 支付金额 + {{orderInfo.amount || '0'}} 元 + + + 账户余额 + {{balance}} 元 + + + + + 温馨提示 + + 1. 请向工作人员出示此页面 + 2. 确认支付成功后即可开始洗车服务 + 3. 如有疑问请联系客服 + + + + + + + + + + + + 帮洗服务 + 让洗车更便捷 + + + + + + 服务说明 + + 1. 帮洗服务由专业人员提供 + 2. 确认后将从您的账户余额中扣除相应费用 + 3. 服务完成后可在订单中查看详情 + + + + + + + + + + + + \ No newline at end of file diff --git a/pages/substituteWash/substituteWash.wxss b/pages/substituteWash/substituteWash.wxss new file mode 100644 index 0000000..2f31cb0 --- /dev/null +++ b/pages/substituteWash/substituteWash.wxss @@ -0,0 +1,292 @@ +.container { + padding: 0; + font-size: 28rpx; + background-color: #f8f8f8; + min-height: 100vh; + border: none; +} + +/* 加载动画 */ +.loading-container { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + height: 100vh; +} + +.spinner { + margin: 0 auto; + width: 120rpx; + height: 120rpx; + position: relative; +} + +.spinner .spinner-container { + position: absolute; + width: 100%; + height: 100%; +} + +.container1 > view, .container2 > view, .container3 > view { + width: 20rpx; + height: 20rpx; + background-color: #1aad19; + border-radius: 100%; + position: absolute; + -webkit-animation: bouncedelay 1.2s infinite ease-in-out; + animation: bouncedelay 1.2s infinite ease-in-out; + -webkit-animation-fill-mode: both; + animation-fill-mode: both; +} + +.container2 { + -webkit-transform: rotateZ(45deg); + transform: rotateZ(45deg); +} + +.container3 { + -webkit-transform: rotateZ(90deg); + transform: rotateZ(90deg); +} + +.circle1 { top: 0; left: 0; } +.circle2 { top: 0; right: 0; } +.circle3 { right: 0; bottom: 0; } +.circle4 { left: 0; bottom: 0; } + +.container1 .circle1 { + -webkit-animation-delay: -1.1s; + animation-delay: -1.1s; +} +.container2 .circle1 { + -webkit-animation-delay: -1.0s; + animation-delay: -1.0s; +} +.container3 .circle1 { + -webkit-animation-delay: -0.9s; + animation-delay: -0.9s; +} + +.container1 .circle2 { + -webkit-animation-delay: -0.8s; + animation-delay: -0.8s; +} +.container2 .circle2 { + -webkit-animation-delay: -0.7s; + animation-delay: -0.7s; +} +.container3 .circle2 { + -webkit-animation-delay: -0.6s; + animation-delay: -0.6s; +} + +.container1 .circle3 { + -webkit-animation-delay: -0.5s; + animation-delay: -0.5s; +} +.container2 .circle3 { + -webkit-animation-delay: -0.4s; + animation-delay: -0.4s; +} +.container3 .circle3 { + -webkit-animation-delay: -0.3s; + animation-delay: -0.3s; +} + +.container1 .circle4 { + -webkit-animation-delay: -0.2s; + animation-delay: -0.2s; +} +.container2 .circle4 { + -webkit-animation-delay: -0.1s; + animation-delay: -0.1s; +} +.container3 .circle4 { + -webkit-animation-delay: 0s; + animation-delay: 0s; +} + +@-webkit-keyframes bouncedelay { + 0%, 80%, 100% { -webkit-transform: scale(0.0) } + 40% { -webkit-transform: scale(1.0) } +} + +@keyframes bouncedelay { + 0%, 80%, 100% { + transform: scale(0.0); + -webkit-transform: scale(0.0); + } 40% { + transform: scale(1.0); + -webkit-transform: scale(1.0); + } +} + +.loading-text { + margin-top: 30rpx; + color: #999; +} + +/* 内容区域 */ +.content { + padding: 30rpx; +} + +.header { + text-align: center; + margin-bottom: 60rpx; + padding-top: 40rpx; +} + +.title { + font-size: 48rpx; + font-weight: bold; + color: #333; +} + +.subtitle { + font-size: 28rpx; + color: #666; + margin-top: 10rpx; +} + +.user-info { + background-color: #fff; + border-radius: 12rpx; + padding: 0 30rpx; + margin-bottom: 30rpx; + box-shadow: 0 2rpx 10rpx rgba(0, 0, 0, 0.05); +} + +.info-item { + display: flex; + justify-content: space-between; + padding: 20rpx 0; + border-bottom: 1rpx solid #f0f0f0; +} + +.info-item:last-child { + border-bottom: none; +} + +.label { + color: #666; +} + +.value { + color: #333; + font-weight: 500; +} + +.balance { + color: #1aad19; + font-weight: bold; + font-size: 32rpx; +} + +.wash-info { + background-color: #fff; + border-radius: 12rpx; + padding: 30rpx; + margin-bottom: 60rpx; + box-shadow: 0 2rpx 10rpx rgba(0, 0, 0, 0.05); +} + +.wash-title { + font-size: 32rpx; + font-weight: bold; + color: #333; + margin-bottom: 20rpx; +} + +.wash-desc { + color: #666; +} + +.desc-item { + line-height: 1.8; + margin-bottom: 10rpx; +} + +.btn-area { + padding: 40rpx 60rpx; +} + +.confirm-btn { + width: 100%; + height: 88rpx; + line-height: 88rpx; + font-size: 32rpx; + border-radius: 44rpx; + background-color: #1aad19; +} + +/* 支付成功样式 */ +.success-content { + display: flex; + flex-direction: column; + align-items: center; + padding: 30rpx; +} + +.success-icon { + margin: 40rpx 0; +} + +.success-title { + font-size: 48rpx; + font-weight: bold; + color: #1aad19; + margin-bottom: 60rpx; +} + +.success-info { + width: 100%; + background-color: #fff; + border-radius: 12rpx; + padding: 0 30rpx; + margin-bottom: 30rpx; + box-shadow: 0 2rpx 10rpx rgba(0, 0, 0, 0.05); +} + +.highlight { + color: #ff6600; + font-weight: bold; + font-size: 32rpx; +} + +.success-tips { + width: 100%; + background-color: #fff; + border-radius: 12rpx; + padding: 30rpx; + margin-bottom: 30rpx; + box-shadow: 0 2rpx 10rpx rgba(0, 0, 0, 0.05); +} + +.tips-title { + font-size: 32rpx; + font-weight: bold; + color: #333; + margin-bottom: 20rpx; +} + +.tips-content { + color: #666; +} + +.tips-item { + line-height: 1.8; + margin-bottom: 10rpx; +} + +.back-btn { + width: 100%; + height: 88rpx; + line-height: 88rpx; + font-size: 32rpx; + border-radius: 44rpx; + background-color: #f8f8f8; + color: #333; + border: 1rpx solid #ddd; +} \ No newline at end of file diff --git a/pages/user/user.js b/pages/user/user.js index 6ff2944..d52140a 100644 --- a/pages/user/user.js +++ b/pages/user/user.js @@ -6,22 +6,22 @@ Page({ urlList: [], user: {} }, - onLoad: function(n) { + onLoad: function (n) { var o = this; - e.pageStart(t).then(function(t) { + e.pageStart(t).then(function (t) { o.getContent(); }); }, - onShow: function() { + onShow: function () { this.refresh && this.getContent(); }, - onPullDownRefresh: function() {}, - onShareAppMessage: function() {}, - getContent: function() { + onPullDownRefresh: function () { }, + onShareAppMessage: function () { }, + getContent: function () { var n = this; wx.showLoading({ title: "" - }), e.request('/miniprogram/user', {}, !0).then(function(t) { + }), e.request('/miniprogram/user', {}, !0).then(function (t) { if (wx.hideLoading(), 200 != t.code) return wx.showModal({ title: "提示", content: t.message @@ -30,18 +30,18 @@ Page({ showLoding: !1, user: t.data.user, urlList: t.data.menu - }, function() {}); - }).catch(function(t) { + }, function () { }); + }).catch(function (t) { wx.hideLoading(); }); }, - islogin: function() { + islogin: function () { wx.showLoading({ title: "加载中" }); }, refresh: 0, - toPage: function(t) { + toPage: function (t) { var e = t.currentTarget.dataset, n = (e.refresh, e.url); n ? wx.navigateTo({ url: "/pages/".concat(n) @@ -51,29 +51,29 @@ Page({ duration: 2e3 }), this.refresh = 1; }, - callUs: function() { + callUs: function () { if (!t.globalData.servicetel) return !1; wx.makePhoneCall({ phoneNumber: "" + t.globalData.servicetel }); }, - updateUserAvatar: function() { + updateUserAvatar: function () { var that = this; wx.chooseMedia({ count: 1, mediaType: ['image'], sourceType: ['album', 'camera'], - success: function(res) { + success: function (res) { wx.uploadFile({ - url: 'https://t-jm.v0750.com/miniprogram/upload', + url: 'https://t-jm.v0750.com/miniprogram/user/upload', filePath: res.tempFiles[0].tempFilePath, name: 'file', - success: function(uploadRes) { + success: function (uploadRes) { var data = JSON.parse(uploadRes.data); if (data.code == 200) { e.request('/miniprogram/user/update', { avatar: data.data.url - }, true).then(function(res) { + }, true).then(function (res) { if (res.code == 200) { that.getContent(); wx.showToast({ @@ -93,18 +93,18 @@ Page({ } }); }, - updateUserNickname: function() { + updateUserNickname: function () { var that = this; wx.showModal({ title: '修改昵称', editable: true, placeholderText: '请输入新昵称', - success: function(res) { + success: function (res) { if (res.confirm && res.content) { // 发送请求到后端,更新用户昵称 e.request('/miniprogram/user/update', { nickname: res.content - }, true).then(function(res) { + }, true).then(function (res) { if (res.code == 200) { that.getContent(); wx.showToast({ diff --git a/pages/user/user.wxml b/pages/user/user.wxml index 664406e..9649b07 100644 --- a/pages/user/user.wxml +++ b/pages/user/user.wxml @@ -11,14 +11,14 @@ {{user.mobile}}
- - + + 我的资产 - 立即充值 > + 立即购买 > @@ -62,17 +62,14 @@ {{item.name}} - - + + \ No newline at end of file diff --git a/pages/washing/washing.wxss b/pages/washing/washing.wxss new file mode 100644 index 0000000..c16203b --- /dev/null +++ b/pages/washing/washing.wxss @@ -0,0 +1,167 @@ +.btn { + padding: 80rpx 100rpx 40rpx; +} + +.spinner { + margin: 200rpx auto 80rpx; + width: 400rpx; + height: 400rpx; + position: relative; + border-radius: 400rpx; + border: 10rpx solid green; +} + +.spinner .time { + font-family: 'Consolas', 'Lucida Console', 'DejaVu Sans Mono', monospace; + position: absolute; + width: 400rpx; + height: 320rpx; + padding-top: 80rpx; + text-align: center; + color: green; +} + +.spinner .time text { + display: block; +} +.wangdian, .macid { + line-height: 2; + font-size: 40rpx; +} +.mactime { + font-size: 80rpx; + font-weight: 700; +} + +.container1 > view, .container2 > view, .container3 > view, .container4 > view, .container5 > view { + width: 20rpx; + height: 20rpx; + background-color: green; + border-radius: 100%; + position: absolute; + -webkit-animation: bouncedelay 2.2s infinite ease-in-out; + animation: bouncedelay 2.2s infinite ease-in-out; + -webkit-animation-fill-mode: both; + animation-fill-mode: both; +} +.spinner .spinner-container { + position: absolute; + width: 100%; + height: 100%; +} +.container2 { + -webkit-transform: rotateZ(22.5deg); + transform: rotateZ(22.5deg); +} +.container3 { + -webkit-transform: rotateZ(45deg); + transform: rotateZ(45deg); +} +.container4 { + -webkit-transform: rotateZ(67.5deg); + transform: rotateZ(67.5deg); +} +.container5 { + -webkit-transform: rotateZ(90deg); + transform: rotateZ(90deg); +} + +.circle1 { top: 0; left: 0; } +.circle2 { top: 0; right: 0; } +.circle3 { right: 0; bottom: 0; } +.circle4 { left: 0; bottom: 0; } +.container1 .circle1 { + -webkit-animation-delay: -2s; + animation-delay: -2s; +} +.container2 .circle1 { + -webkit-animation-delay: -1.9s; + animation-delay: -1.9s; +} +.container3 .circle1 { + -webkit-animation-delay: -1.8s; + animation-delay: -1.8s; +} +.container4 .circle1 { + -webkit-animation-delay: -1.7s; + animation-delay: -1.7s; +} +.container5 .circle1 { + -webkit-animation-delay: -1.6s; + animation-delay: -1.6s; +} +.container1 .circle2 { + -webkit-animation-delay: -1.5s; + animation-delay: -1.5s; +} +.container2 .circle2 { + -webkit-animation-delay: -1.4s; + animation-delay: -1.4s; +} +.container3 .circle2 { + -webkit-animation-delay: -1.3s; + animation-delay: -1.3s; +} +.container4 .circle2 { + -webkit-animation-delay: -1.2s; + animation-delay: -1.2s; +} +.container5 .circle2 { + -webkit-animation-delay: -1.1s; + animation-delay: -1.1s; +} +.container1 .circle3 { + -webkit-animation-delay: -1s; + animation-delay: -1s; +} +.container2 .circle3 { + -webkit-animation-delay: -0.9s; + animation-delay: -0.9s; +} +.container3 .circle3 { + -webkit-animation-delay: -0.8s; + animation-delay: -0.8s; +} +.container4 .circle3 { + -webkit-animation-delay: -0.7s; + animation-delay: -0.7s; +} +.container5 .circle3 { + -webkit-animation-delay: -0.6s; + animation-delay: -0.6s; +} +.container1 .circle4 { + -webkit-animation-delay: -0.5s; + animation-delay: -0.5s; +} +.container2 .circle4 { + -webkit-animation-delay: -0.4s; + animation-delay: -0.4s; +} +.container3 .circle4 { + -webkit-animation-delay: -0.3s; + animation-delay: -0.3s; +} +.container4 .circle4 { + -webkit-animation-delay: -0.2s; + animation-delay: -0.2s; +} +.container5 .circle4 { + -webkit-animation-delay: -0.1s; + animation-delay: -0.1s; +} +@-webkit-keyframes bouncedelay { + 0%, 80%, 100% { -webkit-transform: scale(0.0) } + 40% { -webkit-transform: scale(2.0) } +} +@keyframes bouncedelay { + 0%, 80%, 100% { + transform: scale(0.0); + -webkit-transform: scale(0.0); + } 40% { + transform: scale(2.0); + -webkit-transform: scale(2.0); + } +} + + diff --git a/project.private.config.json b/project.private.config.json deleted file mode 100644 index 4f8319e..0000000 --- a/project.private.config.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "description": "项目私有配置文件。此文件中的内容将覆盖 project.config.json 中的相同字段。项目的改动优先同步到此文件中。详见文档:https://developers.weixin.qq.com/miniprogram/dev/devtools/projectconfig.html", - "projectname": "%E8%81%9A%E7%BE%8E%E6%B1%BD%E6%9C%8D%2B", - "setting": { - "compileHotReLoad": true, - "urlCheck": false - }, - "condition": { - "miniprogram": { - "list": [ - { - "name": "pages/wangdian/wangdian", - "pathName": "pages/wangdian/wangdian", - "query": "number=T1000126", - "launchMode": "default", - "scene": null - } - ] - } - }, - "libVersion": "3.13.0" -} \ No newline at end of file diff --git a/template/pageLoding/pageLoding.wxml b/template/pageLoding/pageLoding.wxml index e3da721..20260ae 100644 --- a/template/pageLoding/pageLoding.wxml +++ b/template/pageLoding/pageLoding.wxml @@ -5,6 +5,6 @@ - + diff --git a/template/serviceTel/serviceTel.wxml b/template/serviceTel/serviceTel.wxml index fac1541..9d8e70e 100644 --- a/template/serviceTel/serviceTel.wxml +++ b/template/serviceTel/serviceTel.wxml @@ -1,3 +1,5 @@ - - + + + \ No newline at end of file diff --git a/utils/login.js b/utils/login.js index 6fd6ada..eef1bb5 100644 --- a/utils/login.js +++ b/utils/login.js @@ -11,11 +11,14 @@ function t() { } function n(a) { - var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}; + + var baseUrl = "https://t-jm.v0750.com/v3"; + + var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}; // a 是否 https, 如果不是自动补全 if (!/^https/.test(a)) { - a = 'https://t-jm.v0750.com' + a; + a = baseUrl + a; } // method 默认为 GET @@ -27,6 +30,7 @@ function n(a) { return wx.showLoading(), new Promise(function (n, c) { console.log("requestdevicecode", o.globalData.devicecode); + var i = Object.assign({}, { devicecode: o.globalData.devicecode }, o.globalData.options, t); @@ -36,7 +40,7 @@ function n(a) { header: { "content-type": "application/json", Accept: "application/json, text/plain", - Cookie: "_miucms_session=" + wx.getStorageSync("_miucms_session"), + Cookie: "XPHP_SESSION_ID=" + wx.getStorageSync("session"), token: wx.getStorageSync("session") || "" }, method: method, @@ -91,7 +95,7 @@ function n(a) { } function c(e, a) { - console.log("appstart", e), o = a, n("https://t-jm.v0750.com/miniprogram", { + console.log("appstart", e), o = a, n("/miniprogram/index", { code: e }, !0).then(function (e) { var o = e.data; @@ -102,7 +106,6 @@ function c(e, a) { } module.exports = { - initial_url: "https://t-jm.v0750.com/miniprogram", login: t, request: n, pageStart: function (e) { @@ -119,11 +122,13 @@ module.exports = { c(res.code, e); }); }, - baseUrl: "https://t-jm.v0750.com/", getDevicecode: function (e, a) { - o = e, n("https://t-jm.v0750.com/miniprogram/identify/reload", a, !0).then(function (e) { + o = e, n("/miniprogram/identify/reload", a, !0).then(function (e) { var a = e.data; - console.log("onshow获取到的数据", a), o.globalData.devicecode = a.devicecode || o.globalData.devicecode; + if (e.code == 200) { + o.globalData.deviceData = a || {}; + o.globalData.devicecode = a.devicecode || ''; + } }); } }; \ No newline at end of file