diff --git a/App.vue b/App.vue index 74b2aef7..8edda921 100644 --- a/App.vue +++ b/App.vue @@ -47,7 +47,7 @@ "/pages/user/user" ], // 请求地址 - request_url: 'https://d1.shopxo.vip/', + request_url: 'https://dev.shopxo.vip/', // 静态资源地址(如系统根目录不在public目录下面请在静态地址后面加public目录、如:https://d1.shopxo.vip/public/) static_url: 'https://d1.shopxo.vip/', // 系统类型(默认default、如额外独立小程序、可与程序分身插件实现不同主体小程序及支付独立) diff --git a/pages/buy/buy.vue b/pages/buy/buy.vue index 8703f6f7..ade78205 100644 --- a/pages/buy/buy.vue +++ b/pages/buy/buy.vue @@ -594,7 +594,11 @@ uni.hideLoading(); if (res.data.code == 0) { if (res.data.data.order_status == 1) { - uni.setStorageSync(app.globalData.data.cache_page_pay_key, res.data.data.order_ids.join(',')); + var pay_data = { + order_ids: res.data.data.order_ids.join(','), + payment_id: data['payment_id'] + }; + uni.setStorageSync(app.globalData.data.cache_page_pay_key, pay_data); } uni.redirectTo({ url: '/pages/user-order/user-order' diff --git a/pages/plugins/membershiplevelvip/order/order.vue b/pages/plugins/membershiplevelvip/order/order.vue index 76f9d98a..523cfd58 100644 --- a/pages/plugins/membershiplevelvip/order/order.vue +++ b/pages/plugins/membershiplevelvip/order/order.vue @@ -21,7 +21,7 @@ {{fv.name}} {{item[fv.field]}} - {{fv.unit}} + {{fv.unit}} {{item[fv.unit_field]}} @@ -329,6 +329,34 @@ return false; } // #endif + + // 支付方式 + var payment = null; + for(var i in this.payment_list) { + if(this.payment_list[i]['id'] == this.payment_id) { + payment = this.payment_list[i]; + } + } + if(payment == null) { + app.globalData.showToast('支付方式有误'); + return false; + } + + // 请求数据 + var post_data = { + id: order_id, + payment_id: this.payment_id + }; + + // h5自定义重定向地址 + // #ifdef H5 + post_data['redirect_url'] = encodeURIComponent(base64.encode(app.globalData.get_page_url(false)+(this.nav_status_index > 0 ? '?status='+this.nav_status_index : ''))); + // paypal支付方式使用respond_url返回地址、移除重定向地址 + if(payment.payment == 'PayPal') { + post_data['respond_url'] = post_data['redirect_url']; + delete post_data['redirect_url']; + } + // #endif // 请求支付接口 uni.showLoading({ @@ -337,13 +365,7 @@ uni.request({ url: app.globalData.get_request_url("pay", "buy", "membershiplevelvip"), method: "POST", - data: { - // #ifdef H5 - redirect_url: encodeURIComponent(base64.encode(app.globalData.get_page_url(false)+(this.nav_status_index > 0 ? '?status='+this.nav_status_index : ''))), - // #endif - id: order_id, - payment_id: this.payment_id - }, + data: post_data, dataType: "json", success: res => { uni.hideLoading(); @@ -351,9 +373,9 @@ var data = res.data.data; // #ifdef MP-WEIXIN || MP-ALIPAY || MP-BAIDU || MP-TOUTIAO this.common_pay_handle(this, data, index); - // #endif - // #ifdef MP-KUAISHOU - this.kuaishou_pay_handle(this, data, index); + // #endif + // #ifdef MP-KUAISHOU + this.kuaishou_pay_handle(this, data, index); // #endif // #ifdef MP-QQ this.qq_pay_handle(this, data, index); @@ -370,26 +392,26 @@ app.globalData.showToast("服务器请求出错"); } }); - }, - - // 快手小程序 - kuaishou_pay_handle(self, data, index) { - uni.pay({ - orderInfo: data.data, - serviceId: '1', - success: res => { - // 数据设置 - self.order_item_pay_success_handle(index); - - // 跳转支付页面 - uni.navigateTo({ - url: "/pages/paytips/paytips?code=9000" - }); - }, - fail: res => { - app.globalData.showToast('支付失败'); - } - }); + }, + + // 快手小程序 + kuaishou_pay_handle(self, data, index) { + uni.pay({ + orderInfo: data.data, + serviceId: '1', + success: res => { + // 数据设置 + self.order_item_pay_success_handle(index); + + // 跳转支付页面 + uni.navigateTo({ + url: "/pages/paytips/paytips?code=9000" + }); + }, + fail: res => { + app.globalData.showToast('支付失败'); + } + }); }, // 微信、支付宝、百度、头条、QQ diff --git a/pages/plugins/wallet/user-recharge/user-recharge.vue b/pages/plugins/wallet/user-recharge/user-recharge.vue index 5a14b227..56b1cda8 100644 --- a/pages/plugins/wallet/user-recharge/user-recharge.vue +++ b/pages/plugins/wallet/user-recharge/user-recharge.vue @@ -325,6 +325,34 @@ } // #endif + // 支付方式 + var payment = null; + for(var i in this.payment_list) { + if(this.payment_list[i]['id'] == this.payment_id) { + payment = this.payment_list[i]; + } + } + if(payment == null) { + app.globalData.showToast('支付方式有误'); + return false; + } + + // 请求数据 + var post_data = { + recharge_id: recharge_id, + payment_id: this.payment_id + }; + + // h5自定义重定向地址 + // #ifdef H5 + post_data['redirect_url'] = encodeURIComponent(base64.encode(app.globalData.get_page_url(false)+(this.nav_status_index > 0 ? '?status='+this.nav_status_index : ''))); + // paypal支付方式使用respond_url返回地址、移除重定向地址 + if(payment.payment == 'PayPal') { + post_data['respond_url'] = post_data['redirect_url']; + delete post_data['redirect_url']; + } + // #endif + // 请求支付接口 uni.showLoading({ title: "请求中..." @@ -332,13 +360,7 @@ uni.request({ url: app.globalData.get_request_url("pay", "recharge", "wallet"), method: "POST", - data: { - // #ifdef H5 - redirect_url: encodeURIComponent(base64.encode(app.globalData.get_page_url(false)+(this.nav_status_index > 0 ? '?status='+this.nav_status_index : ''))), - // #endif - recharge_id: recharge_id, - payment_id: this.payment_id - }, + data: post_data, dataType: "json", success: res => { uni.hideLoading(); diff --git a/pages/user-order/user-order.vue b/pages/user-order/user-order.vue index 1c7f13c7..af35baab 100644 --- a/pages/user-order/user-order.vue +++ b/pages/user-order/user-order.vue @@ -290,15 +290,6 @@ if (res.data.data.data.length > 0) { if (this.data_page <= 1) { var temp_data_list = res.data.data.data; - // 下订单支付处理 - if (this.load_status == 0) { - var ck = app.globalData.data.cache_page_pay_key; - var cache_ids = uni.getStorageSync(ck) || null; - if (cache_ids != null) { - uni.removeStorageSync(ck); - this.pay_handle(cache_ids); - } - } } else { var temp_data_list = this.data_list || []; var temp_data = res.data.data.data; @@ -307,6 +298,7 @@ } } + var temp_load_status = this.load_status; this.setData({ data_list: temp_data_list, data_total: res.data.data.total, @@ -317,6 +309,17 @@ payment_list: res.data.data.payment_list || [] }); + // 下订单支付处理 + if (temp_load_status == 0) { + var ck = app.globalData.data.cache_page_pay_key; + var pay_data = uni.getStorageSync(ck) || null; + if (pay_data != null) { + uni.removeStorageSync(ck); + this.setData({payment_id: parseInt(pay_data.payment_id || 0)}); + this.pay_handle(pay_data.order_ids); + } + } + // 是否还有数据 this.setData({ data_bottom_line_status: (this.data_page > 1 && this.data_page > this.data_page_total) @@ -393,6 +396,34 @@ } // #endif + // 支付方式 + var payment = null; + for(var i in this.payment_list) { + if(this.payment_list[i]['id'] == this.payment_id) { + payment = this.payment_list[i]; + } + } + if(payment == null) { + app.globalData.showToast('支付方式有误'); + return false; + } + + // 请求数据 + var post_data = { + ids: order_ids, + payment_id: this.payment_id + }; + + // h5自定义重定向地址 + // #ifdef H5 + post_data['redirect_url'] = encodeURIComponent(base64.encode(app.globalData.get_page_url(false)+(this.nav_status_index > 0 ? '?status='+this.nav_status_index : ''))); + // paypal支付方式使用respond_url返回地址、移除重定向地址 + if(payment.payment == 'PayPal') { + post_data['respond_url'] = post_data['redirect_url']; + delete post_data['redirect_url']; + } + // #endif + // 请求支付接口 uni.showLoading({ title: "请求中..." @@ -400,13 +431,7 @@ uni.request({ url: app.globalData.get_request_url("pay", "order"), method: "POST", - data: { - // #ifdef H5 - redirect_url: encodeURIComponent(base64.encode(app.globalData.get_page_url(false)+(this.nav_status_index > 0 ? '?status='+this.nav_status_index : ''))), - // #endif - ids: order_ids, - payment_id: this.payment_id - }, + data: post_data, dataType: "json", success: res => { uni.hideLoading();