diff --git a/App.vue b/App.vue index 033d8e8..3c17ec9 100644 --- a/App.vue +++ b/App.vue @@ -23,7 +23,8 @@ // url: 'https://hsgcs.dctpay.com/user', // graurl:'https://gratia-pay.dctpay.com/crest', // imgUrl: 'https://hsgcs.dctpay.com/filesystem/', - // imageWxImg: 'https://hsgcs.dctpay.com/filesystem/wxApplets/', + // imageWxImg: 'https://hsgcs.dctpay.com/filesystem/wxApplets/', + isClick: true, //防止重复点击 }, onLaunch: function() { diff --git a/Utils/Request.js b/Utils/Request.js index 582698b..16f92ba 100644 --- a/Utils/Request.js +++ b/Utils/Request.js @@ -39,9 +39,10 @@ function request(method, url, data) { }) } }, - fail(err) { + fail(err) { + app.globalData.isClick = true; uni.showToast({ - title: '请求失败', + title: '请求失败,查看网络是否正常', icon: 'none', duration: 1500, }) diff --git a/pages/index/index.vue b/pages/index/index.vue index 6b795e4..98cc2ce 100644 --- a/pages/index/index.vue +++ b/pages/index/index.vue @@ -464,7 +464,7 @@ if (item >= this.storediscountCondition) { storetype = this.storediscountType; storeprice = this.storediscountPrice; - } + } // else { // storetype = this.storediscountType; // storeprice = this.storediscountPrice; @@ -672,13 +672,16 @@ // if (userAgent.match(/Alipay/i) == "alipay") { // this.createJSAPIOrder('ALIPAY'); // } else if (userAgent.match(/MicroMessenger/i) == "micromessenger") { - this.createJSAPIOrder(); + if (app.globalData.isClick) { + this.createJSAPIOrder(); + app.globalData.isClick = false; + } // } }, // 创建订单 - createJSAPIOrder(item) { - uni.showLoading({ - title:'请求中' + createJSAPIOrder(item) { + uni.showLoading({ + title: '请求中' }) // "微信:WECHAT 支付宝:ALIPAY 银联:UQRCODEPAY", let phone = ''; @@ -694,11 +697,12 @@ "userDiscountId": this.memDiscountId, "userPhone": phone } - createJSAPIOrder(datas).then(res => { - uni.hideLoading(); + createJSAPIOrder(datas).then(res => { + uni.hideLoading(); if (res.return_code == '000000') { this.jsapiPay(res.return_data.outTradeNo); - } else { + } else { + app.globalData.isClick = true; uni.showToast({ title: res.return_msg, duration: 2000, @@ -708,11 +712,15 @@ }) }, //唤起支付参数 - jsapiPay(item) { + jsapiPay(item) { + uni.showLoading({ + title: '请求中' + }) let datas = { outTradeNo: item } - jsapiPay(datas).then(res => { + jsapiPay(datas).then(res => { + uni.hideLoading(); if (res.return_code == '000000') { if (res.return_data.payParam && app.globalData.platformType == 'WECHAT') { this.wechatpayRequest(res.return_data); @@ -732,7 +740,8 @@ icon: 'none', duration: 2000 }) - } else { + } else { + app.globalData.isClick = true; uni.showToast({ title: res.return_msg, duration: 2000, @@ -847,11 +856,12 @@ }, //微信支付 - wechatpayRequest: function(self) { + wechatpayRequest: function(self) { + let that = this; uni.showLoading({ title: '支付中...' }) - if (self.platformType == 1) { + if (self.platformType == 1 || self.platformType == 5) { jweixin.config({ debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 appId: self.payParam.acc_resp_fields.app_id, // 必填,公众号的唯一标识 @@ -864,8 +874,12 @@ jweixin.ready(function() { jweixin.checkJsApi({ jsApiList: ['chooseWXPay'], // 需要检测的JS接口列表,所有JS接口列表见附录2, - success: function(res) {}, - fail: function(res) {} + success: function(res) { + app.globalData.isClick = true; + }, + fail: function(res) { + app.globalData.isClick = true; + } }); jweixin.chooseWXPay({ appId: self.payParam.acc_resp_fields.app_id, @@ -883,11 +897,16 @@ title: '支付成功' }) }, - cancel: function(r) {}, - fail: function(res) {} + cancel: function(r) { + app.globalData.isClick = true; + }, + fail: function(res) { + app.globalData.isClick = true; + } }); }); - jweixin.error(function(res) { + jweixin.error(function(res) { + app.globalData.isClick = true; uni.showToast({ icon: 'none', title: '支付失败了', @@ -924,11 +943,16 @@ title: '支付成功' }) }, - cancel: function(r) {}, - fail: function(res) {} + cancel: function(r) { + app.globalData.isClick = true; + }, + fail: function(res) { + app.globalData.isClick = true; + } }); }); - jweixin.error(function(res) { + jweixin.error(function(res) { + app.globalData.isClick = true; uni.showToast({ icon: 'none', title: '支付失败了', @@ -941,7 +965,8 @@ alipayRequest(item) { alipayApi.tradePay({ tradeNO: item - }, function(res) { + }, function(res) { + app.globalData.isClick = true; // alert(JSON.stringify(res)); //支付完成的逻辑 });