修正再次支付时,多次调起支付的bug

This commit is contained in:
zhl 2019-08-21 20:45:38 +08:00
parent 9f64cad51b
commit 130d27627a
2 changed files with 27 additions and 21 deletions

View File

@ -49,6 +49,7 @@ export default class extends wepy.app {
dataType: 'game',
fromAppId: '',
extraData: {},
isPay: false,
}
constructor () {
@ -100,14 +101,19 @@ export default class extends wepy.app {
this.globalData.extraData = referrerInfo.extraData;
isoffical = referrerInfo.extraData.isoffical
}
this.globalData.isPay = true;
} else {
this.globalData.isPay = false;
}
sdkManage.isoffical = isoffical;
g.env = isoffical ? 'product' : 'test';
sdkManage.init();
sdkManage.Login(() => {
jcEvent.emit(jcEvent.events.LOGIN_FINISHED, {});
console.log('finish parse jcfw');
});
if (!(sdkManage.session_id && sdkManage.account_id)) {
sdkManage.init();
sdkManage.Login(() => {
jcEvent.emit(jcEvent.events.LOGIN_FINISHED, {});
console.log('finish parse jcfw');
});
}
}

View File

@ -49,11 +49,17 @@
async onLoad(params) {
console.log('io page onload,', params);
if (sdkManage.session_id) {
this.prePay();
} else {
jcEvent.on(jcEvent.events.LOGIN_FINISHED, this, data => {
if (this.$parent.globalData.isPay) {
if (sdkManage.session_id) {
this.prePay();
} else {
jcEvent.on(jcEvent.events.LOGIN_FINISHED, this, data => {
this.prePay();
})
}
} else {
wepy.reLaunch({
url: '/pages/index'
})
}
}
@ -66,7 +72,7 @@
});
this.payData = this.$parent.globalData.extraData;
if (this.payData) {
let url = `${g.payUrl(this.payData.isoffical)}&session_id=${sdkManage.session_id}&account_id=${sdkManage.account_id}&data=${this.payData.data}`
let url = `${g.payUrl(this.payData.isoffical)}&session_id=${sdkManage.session_id}&account_id=${sdkManage.account_id}&data=${encodeURIComponent(this.payData.data)}`
sdkManage.gamelog.logButtonClick('pay', {data: this.payData}, 'payBegin');
try {
let res = await http.get(url);
@ -79,9 +85,11 @@
this.$apply();
} catch (err) {
sdkManage.gamelog.logButtonClick('pay', {data: this.payData, errMsg: 'requestPayment:fail prepay'}, 'parError');
wepy.hideLoading();
this.backToApp('requestPayment:fail prepay');
}
} else {
wepy.hideLoading();
sdkManage.gamelog.logButtonClick('pay', {errMsg: 'requestPayment:fail no pay data'}, 'parError');
}
@ -101,21 +109,10 @@
console.log('支付成功')
sdkManage.gamelog.logButtonClick('pay', {data: self.payData, orderId: self.orderId}, 'parSuccess');
} else if (res.errMsg === 'requestPayment:fail cancel' || res.errMsg === 'requestPayment:cancel') {
wepy.showToast({
title: '用户取消支付',
icon: 'none',
duration: 2000
})
sdkManage.gamelog.logButtonClick('pay', {data: self.payData, orderId: self.orderId, errMsg: res.errMsg}, 'parError');
} else {
console.log('支付失败');
sdkManage.gamelog.logButtonClick('pay', {data: self.payData, orderId: self.orderId, errMsg: res.errMsg}, 'parError');
let msg = res.errMsg.replace('requestPayment:fail', '')
wepy.showToast({
title: msg,
icon: 'none',
duration: 2000
})
}
self.backToApp(res.errMsg);
}
@ -126,6 +123,9 @@
extraData: {
payData: errMsg,
orderid: this.orderId
},
complete: (res) => {
console.log('navigateBackMiniProgram success, now to index');
}
})
}