From 07834a4989bb80573d872b7c3774bb30bd15fb72 Mon Sep 17 00:00:00 2001 From: initwithout Date: Mon, 10 Apr 2023 13:29:21 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=A2=E5=8D=95=E5=88=97=E8=A1=A8=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E5=AF=B9=E6=8E=A5=20=E8=AE=A2=E5=8D=95=E7=A1=AE?= =?UTF-8?q?=E8=AE=A4=E5=AF=B9=E6=8E=A5=20=E6=96=B0=E5=A2=9E=E8=AE=A2?= =?UTF-8?q?=E5=8D=95=E6=94=AF=E4=BB=98=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app.json | 3 +- app.wxss | 5 +- images/QR_code.png | Bin 0 -> 74623 bytes images/order_success.png | Bin 0 -> 2243 bytes pages/address/address.js | 232 ++++------------------- pages/address/address.wxml | 45 +---- pages/address/index.js | 77 ++++---- pages/address/index.wxml | 62 +++--- pages/address/upaddress.js | 229 +++------------------- pages/address/upaddress.wxml | 43 +---- pages/chooseArea/chooseArea.js | 6 +- pages/index/index.wxml | 2 +- pages/index/index.wxss | 16 +- pages/login/register.wxml | 2 +- pages/order/detail.js | 24 +-- pages/order/order.js | 191 ++++++++++++------- pages/order/order.wxml | 7 +- pages/order/pay.js | 337 +++++++++++++++++++-------------- pages/order/pay.json | 3 +- pages/order/pay.wxml | 11 +- pages/order/pay.wxss | 37 ++-- pages/order/payment.js | 100 ++++++++++ pages/order/payment.json | 4 + pages/order/payment.wxml | 39 ++++ pages/order/payment.wxss | 109 +++++++++++ pages/user/user.wxml | 4 +- project.private.config.json | 2 +- utils/server.js | 55 +++--- 28 files changed, 821 insertions(+), 824 deletions(-) create mode 100644 images/QR_code.png create mode 100644 images/order_success.png create mode 100644 pages/order/payment.js create mode 100644 pages/order/payment.json create mode 100644 pages/order/payment.wxml create mode 100644 pages/order/payment.wxss diff --git a/app.json b/app.json index fb2085c..7484fea 100644 --- a/app.json +++ b/app.json @@ -49,7 +49,8 @@ "pages/chooseArea/chooseArea", "pages/login/register", "pages/shop/shop", - "pages/store/store" + "pages/store/store", + "pages/order/payment" ], "window": { "backgroundTextStyle": "light", diff --git a/app.wxss b/app.wxss index 5036f66..6b26058 100644 --- a/app.wxss +++ b/app.wxss @@ -4,14 +4,15 @@ page { background: #fff; height:100%; width:100%; - font-family: "Helvetica Neue",Arial,"PingFang SC","Microsoft YaHei",sans-serif; + font-family: 'Microsoft YaHei'; } .container { height: 100%; display: flex; flex-direction: column; box-sizing: border-box; - font-family: serif; + font-family: 'Microsoft YaHei'; + /* font-family: serif; */ } .df{ display: -webkit-box; diff --git a/images/QR_code.png b/images/QR_code.png new file mode 100644 index 0000000000000000000000000000000000000000..7ed42cdc26033c20446ef0799e30f2d2e30c50b2 GIT binary patch literal 74623 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 z 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 literal 0 HcmV?d00001 diff --git a/images/order_success.png b/images/order_success.png new file mode 100644 index 0000000000000000000000000000000000000000..273530ffb4d00da55ead4bd3866357f4d164ce02 GIT binary patch literal 2243 zcmV;!2t4Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91FrWhf1ONa40RR91FaQ7m0NXcg3;+NKElET{RA>e5S#69J)fqnL%*Va# z8fpp9v_=|(i0I0P+*+!3vs>^ZH4QW<{;@9AA4E+wwTsoH370=r1gX_ngGpm-Y>mZs z7up6tVM{7@aiK^sDrjPBtg$5&mc6_8&dfQd&pUT#ow@U|vv(Kzhc~%*X3ppHyz`#- zea{)j&dE6qOiBZMQoTc+uN`<~j?KiS%rF*er7mHbUBEOyj|qlbeTpmnAKV`iLLAY< z?C9=my8jXC-t_IH2z31Y=jSsiR|=-rFu@n&_cdV}Oe>uThzrh?C#n83uGt~Q_;XC_ zH~LE5#}hl`C~S%V0q08o5V~E*O=CXioN1~2UyeB$H-!HqqUiS_NIb0>|8+A&CQM-Y zz?M~7u#Ma{7y6)GnFn)f8z_JY6YtRR4oOcv)OXbbFQ+z6sK`y=djs2AhWP0XFoXNK z5T!-^K!ZE>=|+Z1C)WFJQrXUQf+p?R&nlzDu93TnFqwg-7zkIlT>|Xtvb`-8+)7 z#@@gU`?k(-Y`Gu7Wv=p6QlBX+gIh)bb9)M(SJv+OZh1_*x4c`nkB_wOSE9mRcVXlHLo=Fh}1TKKDG=Qf$w_jd%wALpmE|35`L!g`I zF}}(#2>nF~Xw8+9YwPwGYBj~Tb<;5jM&BqVQB^_(3q$M!vUEkbNS7 zQ>S#z{SE3q2Ei2=?0PMsrFiqk?yL@8_K@b&z#F#cf!9d}AB;$GL9==U8QqFY`#+px= zZl;j3w7wwRCSpQZ=3fd|(mnZL?Wul%-x<^$D6Mn#;Lv@r(_d1g1i?h{HD7ajM^bEl z6nt+k@MAMzpB<72fh>C{Z!AY(_H~xMnODxa7p{)pM2tiLUQKKLL6X^YyuG;%n*Y

-QH)w}?Bd*a{;8y7g92}$G)!22Kbqj0DJ-THxz^VwXOzwO+gLgMsLw{+!G z$m4es_+885nd4+M??Zw^QA`{O!;26ww0;L0>zFZwdo0;N;G!nBunsc9?F?4Gx zc!T#erFjAX?GrXrv2+4n!FUfg|2g^nB%$>n3}Y5E%|sI0*Q}9!7nQ4xeSOUffH%#H zCu;M-Sbi)bY#jTBkVKH~z2e88Xu%KC!Bd*}nV~?u0EurWm{ViF_I;0BfrBqvumIou zp@4rF25he{{mCccIpRn)e-RBb<0~Bx3Xm{U-b64#I}$U)HefbL&nE%iHy=0?oc%qA zH5$PdBVaPG7q9skd6X;(NbnRAl-uCUt$CXdO)g*&i1;7XYUXR9V*fTqfOb5Zv!{d2 zL}Q2WGm${M*qZP)Zvnhzjh`Nb2TZxABo2Ci>aDBqKhfAE5?zDJZytMMddtb$oA4NI zey$T#q+F5aQo3;*Y;G2={!AHar?3fp^EMw$McFSb;;`))ov-92K%G0^-nA$sN6~i_!%0oOdK*GbQ6;zp0D|eS3cr~F(`oR`X2zDTVZ3UR5 zez7w0(VUCfI1HE)@H7EVz@ZfVWEyyC6I%mR7|3~idRbMSUIQs{9-&>+RBcBoC4uQ| zw`{gCYwk<}e=MyVww&QRaaOsP4qVTc_tVb0cu3&^sQ`qm#jIP@mTd!XR4S&8BNDM zRdXIar7O4fmCCuknKl%R>YNmVP|y++0E~mVejZ$@}mg@4=_xMKrjehzjJWQ*RkKY z1fH}Ffu{{w?JWP0fPx@rL->7)l=vvVD<5{4djGGb2mcxFfA0RA2L4YP_#Z*2y { - if (res.code == 200) { - var data = res; - var sheng = data.sheng; - var shi = data.shi; - var xian = data.xian; - that.setData({ - sheng: sheng, - shi: shi, - xian: xian - }); - } - else { - wx.showToast({ - title: '非法操作!', - duration: 2000 - }); - } - }); - }, - // 点击选择城市 - translate: function (e) { - moveY = 200; - this.data.show = true; - t = 0; - var province = this.data.province ? this.data.province : this.data.sheng[0].G_CName, - city = this.data.city ? this.data.city : this.data.shi[0].G_CName, - county = this.data.county ? this.data.county : this.data.xian[0].G_CName; - console.log(province, city, county); - this.setData({ - province: province, - city: city, - county: county - }); - animationEvents(this, moveY, this.data.show); - }, - //隐藏弹窗浮层 - hiddenFloatView(e) { - moveY = 200; - this.setData({ - show: false - }); - t = 1; - }, - //滑动事件 - bindChange: function (e) { - var val = e.detail.value - //判断滑动的是第几个column - //若省份column做了滑动则定位到地级市和区县第一位 - if (index[0] != val[0]) { - val[1] = 0; - val[2] = 0; - index[1] = 0; - index[2] = 0; - this.getCityArr(val[0]);//获取地级市数据 - this.getCountyInfo(val[0], val[1]);//获取区县数据 - } else { //若省份column未做滑动,地级市做了滑动则定位区县第一位 - if (index[1] != val[1]) { - val[2] = 0; - index[2] = 0; - this.getCountyInfo(val[0], val[1]);//获取区县数据 - } - } - index = val; - this.Preservation(index); - }, - // 根据省获取市 - getCityArr: function (count) { - var that = this; - WXAPI.getCityArr({ - count: count, - }).then(res => { - if (res.code == 200) { - var data = res; - that.setData({ - shi: data.shi - }); - } else { - wx.showToast({ - title: '非法操作!', - duration: 2000 - }); - } - }); - }, - // 根据省市获取县 - getCountyInfo: function (count, column) { - var that = this; - WXAPI.getCountyInfo({ - count: count, - column: column, - }).then(res => { - if (res.code == 200) { - var data = res; - that.setData({ - xian: data.xian - }); - } else { - wx.showToast({ - title: '非法操作!', - duration: 2000 - }); - } - }); - }, - // 滑动事件结束 - Preservation: function (rew) { - var that = this; - WXAPI.preservation({ - sheng: rew[0], - shi: rew[1], - xuan: rew[2] - }).then(res => { - if (res.code == 200) { - var data = res; - var province = data.province; - var city = data.city; - var county = data.county; - that.setData({ - province: province, - city: city, - county: county, - }); - } else { - wx.showToast({ - title: '非法操作!', - duration: 2000 - }); - } - }); + onLoad: function (options) { + // wx.setNavigationBarColor({ + // frontColor: app.d.frontColor, + // backgroundColor: app.d.bgcolor, //页面标题为路由参数 + // animation: { + // duration: 400, + // timingFunc: 'easeIn' + // } + // }) + // this.setData({ + // bgcolor: app.d.bgcolor, + // cartId: options.cartId + // }); }, // 点击保存 SaveAddress: function (e) { + var region = this.data.region + console.log(e.detail.value) if (e.detail.value.user_name.length == 0) { wx.showToast({ title: '联系人不得为空!', @@ -212,7 +50,7 @@ Page({ duration: 1500 }) wx.hideToast() - } else if (e.detail.value.province.length == 0) { + } else if (region[0] == '请选择') { wx.showToast({ title: '城市不得为空!', icon: 'loading', @@ -225,32 +63,28 @@ Page({ //预处理验证手机号码 if (mobile.match(/^\d{11}$/)) { WXAPI.saveAddress({ - openid: app.globalData.userInfo.openid, + accessId: app.globalData.accessId, + storeId: 239, + storeType: 1, user_name: e.detail.value.user_name, mobile: e.detail.value.mobile, - province: e.detail.value.province, - city: e.detail.value.city, - county: e.detail.value.county, - address: e.detail.value.address + place: region[0]+'-'+region[1]+'-'+region[2], + is_default: 0, + address: e.detail.value.address, }).then(res => { if (res.code == 200) { - var data = res; - wx.showToast({ - title: data.info, - icon: 'loading', - duration: 1500 - }) - } else { + var data = res.data; app.d.islogin = true; - wx.showToast({ - title: data.info, - icon: 'success', - duration: 1000 - }); //成功后返回上一页面 wx.navigateBack({ delta: 1 }); + } else { + wx.showToast({ + title: res.message, + icon: 'loading', + duration: 1500 + }); } }); } else { diff --git a/pages/address/address.wxml b/pages/address/address.wxml index fd35847..07a70e3 100644 --- a/pages/address/address.wxml +++ b/pages/address/address.wxml @@ -10,49 +10,14 @@ - 所在地区: - - - - - - + + {{region[0]}} {{region[1]}} {{region[2]}} + - - - - - 取消 - 确定 - - - - - - - {{sheng.G_CName}} - - - - - - {{item.G_CName}} - - - - - - {{item.G_CName}} - - - - - - @@ -62,8 +27,8 @@ - + \ No newline at end of file diff --git a/pages/address/index.js b/pages/address/index.js index a4c410a..b894709 100644 --- a/pages/address/index.js +++ b/pages/address/index.js @@ -71,39 +71,42 @@ Page({ onLoad: function (options) { - wx.setNavigationBarColor({ - frontColor: app.d.frontColor, - backgroundColor: app.d.bgcolor, //页面标题为路由参数 - animation: { - duration: 400, - timingFunc: 'easeIn' - } - }) - this.setData({ - bgcolor: app.d.bgcolor - }); + // wx.setNavigationBarColor({ + // frontColor: app.d.frontColor, + // backgroundColor: app.d.bgcolor, //页面标题为路由参数 + // animation: { + // duration: 400, + // timingFunc: 'easeIn' + // } + // }) + // this.setData({ + // bgcolor: app.d.bgcolor + // }); var that = this; // 页面初始化 options为页面跳转所带来的参数 - if (options.cartId) { - var cartId = options.cartId; - } else { - var cartId = 0; - } - WXAPI.addressIndex({ - openid: app.globalData.userInfo.openid - }).then(res => { - if (res.code == 200) { - var data = res; - var address = data.adds; - if (address == '') { - var address = [] - } - that.setData({ - address: address, - cartId: cartId, - }) - } - }); + // if (options.cartId) { + // var cartId = options.cartId; + // } else { + // var cartId = 0; + // } + that.DataonLoad() + // WXAPI.addressIndex({ + // accessId: app.globalData.accessId, + // storeId: 239, + // storeType: 1, + // }).then(res => { + // if (res.code == 200) { + // var data = res; + // var address = data.adds; + // if (address == '') { + // var address = [] + // } + // that.setData({ + // address: address, + // cartId: cartId, + // }) + // } + // }); }, bindCheckbox: function (e) { @@ -255,8 +258,10 @@ Page({ content: '你确认移除吗', success: function (res) { res.confirm && WXAPI.addressDelAdds({ - openid: app.globalData.userInfo.openid, - id_arr: addrId + accessId: app.globalData.accessId, + storeId: 239, + storeType: 1, + addr_id: addrId }).then(res => { if (res.code == 200) { that.DataonLoad(); @@ -276,10 +281,12 @@ Page({ var that = this; // 页面初始化 options为页面跳转所带来的参数 WXAPI.addressIndex({ - openid: app.globalData.userInfo.openid, + accessId: app.globalData.accessId, + storeId: 239, + storeType: 1, }).then(res => { if (res.code == 200) { - var data = res; + var data = res.data; var address = data.adds; that.numbers = data.adds; if (address == '') { diff --git a/pages/address/index.wxml b/pages/address/index.wxml index db20464..d5a49b9 100644 --- a/pages/address/index.wxml +++ b/pages/address/index.wxml @@ -1,46 +1,46 @@ - - 地址管理 - 完成 - + + 地址管理 + 完成 + - + - - - - - - - - 全选 - + + + + + + 全选 - 删除 + + 删除 \ No newline at end of file diff --git a/pages/address/upaddress.js b/pages/address/upaddress.js index a486225..4b6dc49 100644 --- a/pages/address/upaddress.js +++ b/pages/address/upaddress.js @@ -4,10 +4,6 @@ var t = 0; var show = false; var moveY = 200; var index = [0, 0, 0]; -var sheng = [];//省 -var shi = [];//城市 -var xian = [];//区县 - Page({ @@ -15,10 +11,9 @@ Page({ * 页面的初始数据 */ data: { - sheng: sheng, - shi: shi, - xian: xian, + region: ['请选择','',''], value: [0, 0, 0], + address: '' }, // 下拉刷新 onPullDownRefresh: function () { @@ -32,178 +27,30 @@ Page({ * 生命周期函数--监听页面加载 */ onLoad: function (options) { - wx.setNavigationBarColor({ - frontColor: app.d.frontColor, - backgroundColor: app.d.bgcolor, //页面标题为路由参数 - animation: { - duration: 400, - timingFunc: 'easeIn' - } - }) + console.log(options) + // wx.setNavigationBarColor({ + // frontColor: app.d.frontColor, + // backgroundColor: app.d.bgcolor, //页面标题为路由参数 + // animation: { + // duration: 400, + // timingFunc: 'easeIn' + // } + // }) + var region = [] + region.push(options.sheng) + region.push(options.city) + region.push(options.quyu) this.setData({ - bgcolor: app.d.bgcolor, - id_arr: options.addr_id + address: options, + region: region }); - - this.AddressManagement(); }, /** * 修改地址 */ - AddressManagement: function () { - var that = this; - WXAPI.addressUpAddsIndex({ - openid: app.globalData.userInfo.openid, - id_arr: that.data.id_arr, - }).then(res => { - if (res.code == 200) { - var data = res; - var address = data.adds; - var province = data.province; - var city = data.city; - var county = data.county; - if (address == '') { - var address = [] - } - that.setData({ - address: address, - province: province, - city: city, - county: county - }) - } - }); - }, - AddressManagement1: function () { - var that = this; - WXAPI.addressManagement({ - openid: app.globalData.userInfo.openid, - }).then(res => { - if (res.code == 200) { - var data = res; - var sheng = data.sheng; - var shi = data.shi; - var xian = data.xian; - that.setData({ - sheng: sheng, - shi: shi, - xian: xian - }); - } else { - wx.showToast({ - title: '非法操作!', - duration: 2000 - }); - } - }); - }, - - // 点击选择城市 - translate: function (e) { - if (t == 0) { - moveY = 0; - show = false; - t = 1; - } else { - moveY = 200; - show = true; - t = 0; - } - - animationEvents(this, moveY, show); - this.AddressManagement1(); - }, - //隐藏弹窗浮层 - hiddenFloatView(e) { - moveY = 200; - this.setData({ - show: false - }); - t = 1; - }, - //滑动事件 - bindChange: function (e) { - var val = e.detail.value - //判断滑动的是第几个column - //若省份column做了滑动则定位到地级市和区县第一位 - if (index[0] != val[0]) { - this.getCityArr(val[0]);//获取地级市数据 - this.getCountyInfo(val[0], val[1]);//获取区县数据 - } else { //若省份column未做滑动,地级市做了滑动则定位区县第一位 - if (index[1] != val[1]) { - this.getCountyInfo(val[0], val[1]);//获取区县数据 - } - } - index = val; - this.Preservation(index); - }, - // 根据省获取市 - getCityArr: function (count) { - var that = this; - WXAPI.getCityArr({ - count: count, - }).then(res => { - if (res.code == 200) { - var data = res; - that.setData({ - shi: data.shi - }); - } else { - wx.showToast({ - title: '非法操作!', - duration: 2000 - }); - } - }); - }, - // 根据省市获取县 - getCountyInfo: function (count, column) { - var that = this; - WXAPI.getCountyInfo({ - count: count, - column: column, - }).then(res => { - if (res.code == 200) { - var data = res; - that.setData({ - xian: data.xian - }); - } else { - wx.showToast({ - title: '非法操作!', - duration: 2000 - }); - } - }); - }, - // 滑动事件结束 - Preservation: function (rew) { - var that = this; - WXAPI.preservation({ - sheng: rew[0], - shi: rew[1], - xuan: rew[2] - }).then(res => { - if (res.code == 200) { - var data = res; - var province = data.province; - var city = data.city; - var county = data.county; - that.setData({ - province: province, - city: city, - county: county, - }); - } else { - wx.showToast({ - title: '非法操作!', - duration: 2000 - }); - } - }); - }, // 点击保存 SaveAddress: function (e) { + var region = this.data.region var that = this; if (e.detail.value.user_name.length == 0) { wx.showToast({ @@ -219,7 +66,7 @@ Page({ duration: 1500 }) wx.hideToast() - } else if (e.detail.value.province.length == 0) { + } else if (region[0] == '请选择') { wx.showToast({ title: '城市不得为空!', icon: 'loading', @@ -227,44 +74,28 @@ Page({ }) wx.hideToast() } else { - WXAPI.saveAddress({ - openid: app.globalData.userInfo.openid, + var that = this; + WXAPI.addressUpAdds({ + accessId: app.globalData.accessId, + storeId: 239, + storeType: 1, user_name: e.detail.value.user_name, - id_arr: that.data.id_arr, mobile: e.detail.value.mobile, - province: e.detail.value.province, - city: e.detail.value.city, - county: e.detail.value.county, - address: e.detail.value.address + place: region[0]+'-'+region[1]+'-'+region[2], + is_default: 0, + address: e.detail.value.address, + addr_id: that.data.address.addr_id, }).then(res => { if (res.code == 200) { - var data = res; - wx.showModal({ - title: '提示', - content: data.info, - success: function (res) { - wx.navigateBack({ - delta: 1 - }) - } - }); + wx.navigateBack() } else { wx.showToast({ - title: res.err, + title: res.message, icon: 'loading', duration: 1500 }) } }); - // WXAPI.addressUpAdds({ - // from_id: formId, - // userid: app.globalData.userInfo.openid - // }).then(res => { - // if (res.code == 200) { - // var data = res; - - // } - // }); } } }) diff --git a/pages/address/upaddress.wxml b/pages/address/upaddress.wxml index 6e1f23f..556f406 100644 --- a/pages/address/upaddress.wxml +++ b/pages/address/upaddress.wxml @@ -2,55 +2,26 @@

联系人: - + 联系电话: - + 所在地区: - - - - + + {{region[0]}} {{region[1]}} {{region[2]}} + - - - - - - 取消 - 确定 - - - - - - {{sheng.G_CName}} - - - - - - {{item.G_CName}} - - - - - - {{item.G_CName}} - - - - + 详细地址: - + diff --git a/pages/chooseArea/chooseArea.js b/pages/chooseArea/chooseArea.js index 46bbcaa..01b9e27 100644 --- a/pages/chooseArea/chooseArea.js +++ b/pages/chooseArea/chooseArea.js @@ -15,12 +15,16 @@ Page({ filterKey: '', level: 0, region: '', - GroupID: '', + GroupID: 111, titleKey: 'A', scrollKey: 'A', }, getLocation(groupID) { var that = this; + var groupID = groupID + if (!groupID) { + groupID = that.data.GroupID + } WXAPI.getLocation({ accessId: app.globalData.accessId, GroupID: groupID diff --git a/pages/index/index.wxml b/pages/index/index.wxml index f106b49..c7183f4 100644 --- a/pages/index/index.wxml +++ b/pages/index/index.wxml @@ -262,7 +262,7 @@ - ~ 我是有底线的 ~ + ~ 我是有底线的 ~ diff --git a/pages/index/index.wxss b/pages/index/index.wxss index bc1004f..1862174 100644 --- a/pages/index/index.wxss +++ b/pages/index/index.wxss @@ -859,14 +859,14 @@ margin-left: 24rpx; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; - font-family: serif; + /* font-family: serif; */ } .mch_content_item text{ color: #999999; font-size: 26rpx; line-height: 26rpx; margin: 0 14rpx; - font-family: serif; + /* font-family: serif; */ } .mch { background-color: #ffffff; @@ -883,7 +883,7 @@ margin-left: 24rpx; position: relative; } .home_title .mch_name { - font-family: serif; + /* font-family: serif; */ font-size: 35rpx; position: absolute; color: #FA5555; @@ -898,7 +898,7 @@ margin-left: 24rpx; .home_title .more { color: #999999; font-size: 28rpx; - font-family: serif; + /* font-family: serif; */ } .more image { width: 22rpx; @@ -934,12 +934,12 @@ margin-left: 24rpx; .goods_title_item.active view{ color: #333333; font-weight: bold; - font-family: serif; + /* font-family: serif; */ } .goods_title_item.active text{ color:#FA5151; - font-family: serif; + /* font-family: serif; */ } .goods_title_item.active:after{ @@ -960,14 +960,14 @@ margin-left: 24rpx; color: #020202; line-height: 34rpx; white-space: nowrap; - font-family: serif; + /* font-family: serif; */ } .goods_title_item text{ color: #666666; font-size: 22rpx; line-height: 22rpx; white-space: nowrap; - font-family: serif; + /* font-family: serif; */ } .zhiding{ position: fixed; diff --git a/pages/login/register.wxml b/pages/login/register.wxml index 2cc8a48..2ab0815 100644 --- a/pages/login/register.wxml +++ b/pages/login/register.wxml @@ -1,5 +1,5 @@ - + 请添加上方二维码联系客服注册账号 diff --git a/pages/order/detail.js b/pages/order/detail.js index d91a6e7..a4b5fe0 100644 --- a/pages/order/detail.js +++ b/pages/order/detail.js @@ -297,18 +297,18 @@ Page({ onLoad: function (options) { console.log(options) this.get_plug(); - wx.setNavigationBarColor({ - frontColor: app.d.frontColor, - backgroundColor: app.d.bgcolor, //页面标题为路由参数 - animation: { - duration: 400, - timingFunc: 'easeIn' - } - }) - this.setData({ - orderId: options.orderId, - bgcolor: '#FF6347', - }) + // wx.setNavigationBarColor({ + // frontColor: app.d.frontColor, + // backgroundColor: app.d.bgcolor, //页面标题为路由参数 + // animation: { + // duration: 400, + // timingFunc: 'easeIn' + // } + // }) + // this.setData({ + // orderId: options.orderId, + // bgcolor: '#FF6347', + // }) this.loadProductDetail(); }, onReady: function () { diff --git a/pages/order/order.js b/pages/order/order.js index d913942..570eba2 100644 --- a/pages/order/order.js +++ b/pages/order/order.js @@ -7,7 +7,7 @@ Page({ winHeight: 0, // tab切换 currentTab: 0, - isStatus: 'payment', //10待付款,20待发货,30待收货 40、50已完成 + isStatus: 'payment', //1待付款,2待发货,3待收货 4、5已完成 page: 0, refundpage: 0, ordert0: [], @@ -114,14 +114,14 @@ Page({ }); } } - wx.setNavigationBarColor({ - frontColor: app.d.frontColor, - backgroundColor: app.d.bgcolor, //页面标题为路由参数 - animation: { - duration: 400, - timingFunc: 'easeIn' - } - }) + // wx.setNavigationBarColor({ + // frontColor: app.d.frontColor, + // backgroundColor: app.d.bgcolor, //页面标题为路由参数 + // animation: { + // duration: 400, + // timingFunc: 'easeIn' + // } + // }) this.initSystemInfo(); this.setData({ @@ -138,67 +138,122 @@ Page({ loadOrderList: function () { var that = this; var isStatus1 = that.options.order_type1 - wx.request({ - url: app.d.ceshiUrl + '&action=order&m=index', - method: 'post', - data: { - openid: app.globalData.userInfo.openid, - order_type: that.data.isStatus, - otype: that.data.otype, - }, - header: { - 'Content-Type': 'application/x-www-form-urlencoded' - }, - success: function (res) { - var status = res.data.status; - var order = res.data.order; - switch (that.data.currentTab) { - case 0: - that.setData({ - ordert0: order, - }); - break; - case 5: - that.setData({ - ordert0: order, - }); - break; - case 6: - that.setData({ - ordert0: order, - }); - break; - case 1: - that.setData({ - ordert1: order, - }); - break; - case 2: - that.setData({ - ordert2: order, - }); - break; - case 3: - that.setData({ - ordert3: order, - }); - break; - case 4: - that.setData({ - ordert4: order, - }); - break; + WXAPI.orderList({ + accessId: app.globalData.accessId, + storeId: 239, + storeType: 1, + queryOrderType: that.data.isStatus, + }).then(res => { + if (res.code == 200) { + var data = res.data; + //成功返回设置数据 + if (data == '') { + that.setData({ + loading: false, + }); + return; + } else { + switch (that.data.currentTab) { + case 0: + that.setData({ + ordert0: data.order, + }); + break; + case 5: + that.setData({ + ordert0: data.order, + }); + break; + case 6: + that.setData({ + ordert0: data.order, + }); + break; + case 1: + that.setData({ + ordert1: data.order, + }); + break; + case 2: + that.setData({ + ordert2: data.order, + }); + break; + case 3: + that.setData({ + ordert3: data.order, + }); + break; + case 4: + that.setData({ + ordert4: data.order, + }); + break; + } } - //console.log(that.data.ordert0) - }, - fail: function () { - // fail - wx.showToast({ - title: '网络异常!', - duration: 2000 - }); } }); + // wx.request({ + // url: app.d.ceshiUrl + '&action=order&m=index', + // method: 'post', + // data: { + // openid: app.globalData.userInfo.openid, + // order_type: that.data.isStatus, + // otype: that.data.otype, + // }, + // header: { + // 'Content-Type': 'application/x-www-form-urlencoded' + // }, + // success: function (res) { + // var status = res.data.status; + // var order = res.data.order; + // switch (that.data.currentTab) { + // case 0: + // that.setData({ + // ordert0: order, + // }); + // break; + // case 5: + // that.setData({ + // ordert0: order, + // }); + // break; + // case 6: + // that.setData({ + // ordert0: order, + // }); + // break; + // case 1: + // that.setData({ + // ordert1: order, + // }); + // break; + // case 2: + // that.setData({ + // ordert2: order, + // }); + // break; + // case 3: + // that.setData({ + // ordert3: order, + // }); + // break; + // case 4: + // that.setData({ + // ordert4: order, + // }); + // break; + // } + // //console.log(that.data.ordert0) + // }, + // fail: function () { + // // fail + // wx.showToast({ + // title: '网络异常!', + // duration: 2000 + // }); + // } + // }); }, // 确认收货 recOrder: function (e) { @@ -331,7 +386,7 @@ Page({ } else if (currentTab == 4) { that.setData({ currentTab: parseInt(currentTab), - isStatus: 'evaluate', + isStatus: 'evaluete', }); that.loadOrderList(); } diff --git a/pages/order/order.wxml b/pages/order/order.wxml index f0afd34..6ca58ba 100644 --- a/pages/order/order.wxml +++ b/pages/order/order.wxml @@ -31,10 +31,11 @@ hover-class="click-once">{{item.value}} - + + 全部订单 待付款 待发货 @@ -99,7 +100,7 @@ - + 合计: ¥ {{item.z_price}} ¥ {{item.total}} diff --git a/pages/order/pay.js b/pages/order/pay.js index 9e2b4f8..8c47e4e 100644 --- a/pages/order/pay.js +++ b/pages/order/pay.js @@ -35,6 +35,7 @@ Page({ pay_xs: true, pages_sx: true, dz_stu: false, + productAry: '', }, go: function (e) { console.log(e); @@ -96,8 +97,6 @@ Page({ wallet: wallet, // 钱包状态 }); this.Settlement(options); - - }, //页面加载完成函数 onReady: function () { @@ -185,7 +184,15 @@ Page({ if (that.data.d_yuan) { data.coupon_money = Number(data.coupon_money) - Number(that.data.user_money); } + var pays = [] + if (data.payment.bank_pay == 1) { + pays.push({'name':'银行转账','icon':'/images/order_success.png'}) + } + // if (data.payment.wallet_pay == 1) { + // pays.push({'name':'余额支付','icon':'/images/wx.png'}) + // } that.setData({ + productAry: options.product, addemt: data.addemt, // 是否有收货地址 address: data.address, // 收货地址 addrId: data.address.id ? data.address.id : '', // 收货地址id @@ -199,7 +206,8 @@ Page({ scorebuy: data.grade_rate_amount, //积分消费规则 zhekou: data.preferential_amount ? data.preferential_amount : '', //会员折扣 freight: data.freight ? data.freight : 0, //运费 - remind: false + remind: false, + pays: pays, }); } else { that.setData({ @@ -421,92 +429,91 @@ Page({ // 提交订单支付 createProductOrderByWX: function (e) { var that = this; - if (this.data.ispayOrder) { - return - } - this.setData({ - ispayOrder: true - }) + // if (that.data.ispayOrder) { + // return + // } + // that.setData({ + // ispayOrder: true + // }) - var paytype = that.data.paytype; - if (paytype) { - that.setData({ - paytype: paytype, - }); - } else { - wx.showToast({ - title: '已为您选择默认支付方式', - icon: 'none', - duration: 2000, - }); - //当都没有选中时 循环找到默认的支付方式 在设置支付方式数据 - var pays = that.data.pays, - j = 0; - for (j = 0; j < pays.length; j++) { - if (pays[j].value == 'wxPay') { - pays[j].checked = true; - } else { - pays[j].checked = false; - } - } + // var paytype = that.data.paytype; + // if (paytype) { + // that.setData({ + // paytype: paytype, + // }); + // } else { + // wx.showToast({ + // title: '已为您选择默认支付方式', + // icon: 'none', + // duration: 2000, + // }); + // //当都没有选中时 循环找到默认的支付方式 在设置支付方式数据 + // var pays = that.data.pays, + // j = 0; + // for (j = 0; j < pays.length; j++) { + // if (pays[j].value == 'wxPay') { + // pays[j].checked = true; + // } else { + // pays[j].checked = false; + // } + // } - that.setData({ - pays: pays, - paytype: 'wxPay', - }); + // that.setData({ + // pays: pays, + // paytype: 'wxPay', + // }); - paytype = 'wxPay'; - return; - } - that.setData({ - form_id: e.detail.formId, - }); - var address = e.detail.value.address; + // paytype = 'wxPay'; + // return; + // } + // that.setData({ + // form_id: e.detail.formId, + // }); + var address = that.data.address; if (address) { - // 收货地址存在 - if (paytype == 'wallet_Pay') { - if (that.data.pay_xs) { - wx.showModal({ - title: '余额支付', - content: '是否使用余额支付?', - success: function (res) { - if (res.confirm) { - //组合支付 替换数据 - that.createProductOrder(); - console.log('用户点击确定'); - } else if (res.cancel) { - that.setData({ - ispayOrder: false - }) - wx.hideLoading() - console.log('用户点击取消') - } - } - }) - } else { - wx.showModal({ - title: '订单提交', - content: '是否使用消费金支付?', - success: function (res) { - if (res.confirm) { - //组合支付 替换数据 - that.createProductOrder(); - console.log('用户点击确定'); - } else if (res.cancel) { - this.setData({ - ispayOrder: false - }) - wx.hideLoading() - console.log('用户点击取消') - } - } - }) - } - - } else { - that.createProductOrder(); - } - + // // 收货地址存在 + // if (paytype == 'wallet_Pay') { + // if (that.data.pay_xs) { + // wx.showModal({ + // title: '余额支付', + // content: '是否使用余额支付?', + // success: function (res) { + // if (res.confirm) { + // //组合支付 替换数据 + // that.createProductOrder(); + // console.log('用户点击确定'); + // } else if (res.cancel) { + // that.setData({ + // ispayOrder: false + // }) + // wx.hideLoading() + // console.log('用户点击取消') + // } + // } + // }) + // } else { + // wx.showModal({ + // title: '订单提交', + // content: '是否使用消费金支付?', + // success: function (res) { + // if (res.confirm) { + // //组合支付 替换数据 + // that.createProductOrder(); + // console.log('用户点击确定'); + // } else if (res.cancel) { + // this.setData({ + // ispayOrder: false + // }) + // wx.hideLoading() + // console.log('用户点击取消') + // } + // } + // }) + // } + // } else { + // that.createProductOrder(); + // } + that.createProductOrder(); } else { // 没有收货地址 wx.showToast({ @@ -519,67 +526,119 @@ Page({ // 确认订单 createProductOrder: function () { var that = this; - this.setData({ - btnDisabledbtnDisabled: false, - pages_sx: false - }) - var paytype = that.data.paytype; - var type1 = that.data.type1; - app.d.purchase = 1; //设置购物车刷新 - wx.request({ - url: app.d.ceshiUrl + '&action=product&m=payment', - method: 'post', - data: { - uid: that.data.userId, // 微信id - cart_id: that.data.cartId, // 购物车id - type: paytype, // 支付方式 - total: that.data.coupon_money, // 付款金额 - coupon_id: that.data.coupon_id, // 优惠券ID - allow: that.data.allow, // 用户使用消费金 - name: that.data.name, // 满减金额名称 - reduce_money: that.data.reduce_money, // 满减金额 - dkyuan: that.data.d_yuan, - freight: that.data.freight, - num: that.data.num1 ? that.data.num1 : 0, //直接购买数量 - typee: that.data.type ? that.data.type : 0, //购买类型1直接购买,0从购物车买 - }, - header: { - 'Content-Type': 'application/x-www-form-urlencoded' - }, - success: function (res) { - var data = res.data; - console.log(res) - if (data.status == 1) { - // 余额支付 - if (data.arr.pay_type == 'wallet_Pay') { - that.wallet_pay(data.arr); - } - if (data.arr.pay_type == 'wxPay') { - // 微信支付 - wx.showLoading({ - title: '加载中', - }) - that.wxpay(data.arr); - } - } else { - wx.showToast({ - title: res.data.err, - icon: 'none', - duration: 2500 - }); - + WXAPI.orderPayment({ + accessId: app.globalData.accessId, + storeId: 239, + storeType: 1, + cart_id: '', + address_id: that.data.addrId, + coupon_id: 0, + remarks: '', + vipSource: 0, + product: that.data.productAry, + pay_type: '', + }).then(res => { + if (res.code == 200) { + var data = res.data + var jsonstr = JSON.stringify(data) + var result = { + orderStr: jsonstr, + price: data.total } - }, - fail: function (e) { + wx.navigateTo({ + url: "/pages/order/payment?orderId="+data.sNo+"&price="+data.total, + }) + // that.leaveSettlement(result) + } else { wx.showToast({ - title: '网络异常!err:createProductOrder', + title: res.message, + icon: 'none', duration: 2000 }); - } + } }); + // this.setData({ + // btnDisabledbtnDisabled: false, + // pages_sx: false + // }) + // var paytype = that.data.paytype; + // var type1 = that.data.type1; + // app.d.purchase = 1; //设置购物车刷新 + // wx.request({ + // url: app.d.ceshiUrl + '&action=product&m=payment', + // method: 'post', + // data: { + // uid: that.data.userId, // 微信id + // cart_id: that.data.cartId, // 购物车id + // type: paytype, // 支付方式 + // total: that.data.coupon_money, // 付款金额 + // coupon_id: that.data.coupon_id, // 优惠券ID + // allow: that.data.allow, // 用户使用消费金 + // name: that.data.name, // 满减金额名称 + // reduce_money: that.data.reduce_money, // 满减金额 + // dkyuan: that.data.d_yuan, + // freight: that.data.freight, + // num: that.data.num1 ? that.data.num1 : 0, //直接购买数量 + // typee: that.data.type ? that.data.type : 0, //购买类型1直接购买,0从购物车买 + // }, + // header: { + // 'Content-Type': 'application/x-www-form-urlencoded' + // }, + // success: function (res) { + // var data = res.data; + // console.log(res) + // if (data.status == 1) { + // // 余额支付 + // if (data.arr.pay_type == 'wallet_Pay') { + // that.wallet_pay(data.arr); + // } + // if (data.arr.pay_type == 'wxPay') { + // // 微信支付 + // wx.showLoading({ + // title: '加载中', + // }) + // that.wxpay(data.arr); + // } + // } else { + // wx.showToast({ + // title: res.data.err, + // icon: 'none', + // duration: 2500 + // }); + + // } + // }, + // fail: function (e) { + // wx.showToast({ + // title: '网络异常!err:createProductOrder', + // duration: 2000 + // }); + // } + // }); // } }, - + //结算支付 + leaveSettlement(result) { + var that = this; + WXAPI.leaveSettlement({ + accessId: app.globalData.accessId, + storeId: 239, + storeType: 1, + order_list: result.orderStr, + price: result.price + }).then(res => { + if (res.code == 200) { + var data = res.data + console.log(data) + } else { + wx.showToast({ + title: res.message, + icon: 'none', + duration: 2000 + }); + } + }); + }, // 发起钱包支付 wallet_pay: function (order) { wx.hideLoading() diff --git a/pages/order/pay.json b/pages/order/pay.json index 3057aed..205320e 100644 --- a/pages/order/pay.json +++ b/pages/order/pay.json @@ -1,3 +1,4 @@ { - "navigationBarTitleText": "订单确认" + "usingComponents": {}, + "navigationBarTitleText": "订单确认" } \ No newline at end of file diff --git a/pages/order/pay.wxml b/pages/order/pay.wxml index 64e74c0..7314f25 100644 --- a/pages/order/pay.wxml +++ b/pages/order/pay.wxml @@ -46,6 +46,7 @@ 添加收货地址 + @@ -53,6 +54,7 @@ {{item.shop_name}} + @@ -73,7 +75,6 @@ - @@ -106,10 +107,10 @@ diff --git a/pages/order/pay.wxss b/pages/order/pay.wxss index 3d7d4e8..602a086 100644 --- a/pages/order/pay.wxss +++ b/pages/order/pay.wxss @@ -130,7 +130,7 @@ width: 100%; flex-direction: row; justify-content: space-between; align-items: center; - margin-top: 5px; + /* margin-top: 5px; */ font-size: 16px; width: 100%; } @@ -168,15 +168,15 @@ display:block; } li{ - font-size: 14px; line-height: 34px;color: #575757;height: 34px;display: block;padding-left: 10px; - margin:10px; -border:2px solid #ff4081; -border-radius:20rpx; -text-align:center; + font-size: 14px; line-height: 34px;color: #575757;height: 34px;display: block;padding-left: 10px; + margin:10px; + border:2px solid #ff4081; + border-radius:20rpx; + text-align:center; } .show { - display: block; + display: block; } .hidden { display: none; @@ -600,13 +600,22 @@ color:#fff; .radio-group { -display:block; -width:100%; + display:block; + width:100%; +} +.payment{ + width:100%; + padding:15rpx 5rpx; + display: flex; + align-items: center; +} +.payment image{ + width: 42rpx; + height: 42rpx; +} +.payment text{ + margin-left: 15rpx; } - - - - /*优惠券 */ .orderDetails { @@ -736,7 +745,7 @@ left:-13px; } .shop-view { display:flex; - height: 60rpx; + height: 85rpx; align-items: center; } .shop-view image { diff --git a/pages/order/payment.js b/pages/order/payment.js new file mode 100644 index 0000000..0c8f804 --- /dev/null +++ b/pages/order/payment.js @@ -0,0 +1,100 @@ +// pages/order/payment.js +Page({ + + /** + * 页面的初始数据 + */ + data: { + orderId: '', + price: '', + company: '常州互利智能科技有限公司', + account: '123 4567 1234 456 1234', + bank: '中国银行', + }, + copyAct() { + var that = this + wx.setClipboardData({ + data: that.data.orderId, + success: function (res) { + wx.showToast({ + title: '复制成功', + icon: 'none', + duration: 2000 + }) + } + }) + }, + copyAccount() { + var that = this + var content = '收款方 '+that.data.company+'\n'+'收款账号 '+that.data.account+'\n'+'开户银行'+that.data.bank + wx.setClipboardData({ + data: content, + success: function (res) { + wx.showToast({ + title: '复制成功', + icon: 'none', + duration: 2000 + }) + } + }) + }, + /** + * 生命周期函数--监听页面加载 + */ + onLoad(options) { + var that = this + that.setData({ + orderId: options.orderId, + price: options.price, + }) + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady() { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow() { + + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide() { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload() { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh() { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom() { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage() { + + } +}) \ No newline at end of file diff --git a/pages/order/payment.json b/pages/order/payment.json new file mode 100644 index 0000000..19fa411 --- /dev/null +++ b/pages/order/payment.json @@ -0,0 +1,4 @@ +{ + "usingComponents": {}, + "navigationBarTitleText": "订单支付" +} \ No newline at end of file diff --git a/pages/order/payment.wxml b/pages/order/payment.wxml new file mode 100644 index 0000000..861794d --- /dev/null +++ b/pages/order/payment.wxml @@ -0,0 +1,39 @@ + + + + 订单编号: + {{orderId}} + | 复制 + + + + 订单提交成功\n请转账至以下银行账户 + 复制账户信息 + + + + 支付金额 + ¥{{price}} + + + + + + 如有其他问题,请联系客服 + + + + diff --git a/pages/order/payment.wxss b/pages/order/payment.wxss new file mode 100644 index 0000000..b591221 --- /dev/null +++ b/pages/order/payment.wxss @@ -0,0 +1,109 @@ +/* pages/order/payment.wxss */ +page { + height: 100%; + background-color: #F6F6FB; +} +.codeView{ + padding-top: 25rpx; + display: flex; + height: 60rpx; + background-color: white; +} +.codeView .order{ + font-size: 28rpx; + color: #333333; +} +.copyBtn{ + margin-left: 16rpx; + width: 80rpx; + height: 60rpx; + font-size: 28rpx; + color: #D4282D; +} +.header { + display: flex; + height: 150rpx; + background-color: white; +} +.header image{ + margin-top: 10rpx; + margin-left: 35rpx; + width: 48rpx; + height: 48rpx; +} +.header text{ + margin-top: 10rpx; + margin-left: 10rpx; + height: 48rpx; + font-weight: bold; + line-height: 48rpx; + font-size: 32rpx; + color: #333333; +} +.info{ + margin-top: 35rpx; + /* margin-bottom: 10rpx; */ + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; +} +.info text{ + font-size: 28rpx; + color: #333333; + height: 50rpx; + line-height: 50rpx; +} +.info .price{ + font-weight: bold; + font-size: 64rpx; + color: #D4282D; +} +.accountCopy{ + position: absolute; + right: 32rpx; + font-size: 24rpx; + color: #D4282D; + padding: 0rpx 10rpx; + height: 50rpx; + line-height: 50rpx; + border-radius: 8rpx; + border: 1rpx solid #D4282D; +} +.account{ + margin-top: 30rpx; + margin-left: 32rpx; + margin-right: 32rpx; + background-color: white; +} +.titleView{ + height: 90rpx; + line-height: 90rpx; + border-bottom: solid 1px #F6F6F6; +} +.name{ + margin-left: 24rpx; + font-size: 28rpx; + color: #999999; +} +.detail{ + margin-left: 100rpx; + font-size: 28rpx; + color: #333333; +} +.qrcode{ + margin-top: 35rpx; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; +} +.qrcode text{ + font-size: 32rpx; + color: #333333; +} +.qrcode image{ + margin-top: 30rpx; + width: 320rpx; + height: 320rpx; +} \ No newline at end of file diff --git a/pages/user/user.wxml b/pages/user/user.wxml index 037e186..cc29612 100644 --- a/pages/user/user.wxml +++ b/pages/user/user.wxml @@ -132,7 +132,7 @@ - + {{item.text}} @@ -140,7 +140,7 @@ - + diff --git a/project.private.config.json b/project.private.config.json index 1b6bfdf..5c62339 100644 --- a/project.private.config.json +++ b/project.private.config.json @@ -5,5 +5,5 @@ "compileHotReLoad": true, "urlCheck": false }, - "libVersion": "2.20.2" + "libVersion": "2.25.3" } \ No newline at end of file diff --git a/utils/server.js b/utils/server.js index eb94a99..b189bbc 100644 --- a/utils/server.js +++ b/utils/server.js @@ -102,8 +102,33 @@ module.exports = { productAddCart: (data) => { //加入购物车 return requestServer('&action=product&app=add_cart', 'post', data) }, - - + //确认订单 payment + orderPayment: (data) => { + return requestServer('&action=order&app=payment', 'post', data) + }, + leaveSettlement: (data) => { + return requestServer('&action=order&app=leave_Settlement', 'post', data) + }, + addressIndex: (data) => { //地址管理列表 + return requestServer('&action=address&app=index', 'post', data) + }, + saveAddress: (data) => { //添加地址 + return requestServer('&action=address&app=SaveAddress', 'post', data) + }, + addressDelAdds: (data) => { //删除地址 + return requestServer('&action=address&app=del_adds', 'post', data) + }, + addressUpAdds: (data) => { //修改地址 + return requestServer('&action=address&app=up_adds', 'post', data) + }, + getLocation: (data) => { //获取地址信息 + return requestServer('&action=index&app=get_location', 'post', data) + }, + //确认订单 payment + orderList: (data) => { + return requestServer('&action=order&app=index', 'post', data) + }, + /* -------------------- */ productSaveFormid: (data) => { return requestServer('&action=product&m=save_formid', 'post', data) }, @@ -133,41 +158,23 @@ module.exports = { return requestServer('&action=product&m=delcart', 'post', data) }, addressManagement: (data) => { //添加地址 - return requestServer('&action=user&m=AddressManagement', 'post', data) - }, - getCityArr: (data) => { //根据省获取市 - return requestServer('&action=user&m=getCityArr', 'post', data) - }, - getCountyInfo: (data) => { //根据省市获取县 - return requestServer('&action=user&m=getCountyInfo', 'post', data) - }, - getLocation: (data) => { //获取地址信息 - return requestServer('&action=index&app=get_location', 'post', data) + return requestServer('&action=user&app=AddressManagement', 'post', data) }, preservation: (data) => { return requestServer('&action=user&m=Preservation', 'post', data) }, - saveAddress: (data) => { - return requestServer('&action=user&m=SaveAddress', 'post', data) - }, addressDelselect: (data) => { return requestServer('&action=address&m=del_select', 'post', data) }, - addressIndex: (data) => { - return requestServer('&action=address&m=index', 'post', data) - }, + addressSetDefault: (data) => { //设置默认地址 return requestServer('&action=address&m=set_default', 'post', data) }, - addressDelAdds: (data) => { //删除地址 - return requestServer('&action=address&m=del_adds', 'post', data) - }, + addressUpAddsIndex: (data) => { //修改地址 return requestServer('&action=address&m=up_addsindex', 'post', data) }, - addressUpAdds: (data) => { //修改地址 - return requestServer('&action=address&m=up_adds', 'post', data) - }, + envelopeIndex: (data) => { // return requestServer('&action=envelope&m=index', 'post', data) },