Commit 112d42fe by 李嘉林

feat: app微信支付后返回app

parent 0b7e6a25
<template>
<div>
<div class="domain">{{ message }}</div>
<div class="isApp" v-if="showAppModule">
<button open-type="launchApp" @error="launchAppError">返回APP</button>
</div>
<van-dialog use-slot :show="isShow" @confirm="handleConfirm">
<div class="dialog-content__wrapper">
<div>当前订单处在支付中,可能是以下情况:</div>
......@@ -15,10 +18,20 @@
<script>
import { formatTime, serialize } from "@/utils/index";
import wxPay from "@/api/wxPay";
import login from "@/api/login";
const app = getApp();
const { log } = app;
function fn(_this) {
wx.showToast({
icon: 'none',
title: _this.options.isXhApp,
});
if (_this.options.isXhApp == 1) {
// 返回App
_this.showAppModule = true;
return;
}
// _this.message = "支付成功";
if (!_this.options_isCard) {
let query;
......@@ -106,6 +119,7 @@ export default {
scene: "", //sso
backUrl: "",
isShow: false,
showAppModule: false,
};
},
onLoad(options) {
......@@ -141,11 +155,21 @@ export default {
// }
log.info(this.totalMoney, "totalMoney");
} else {
this.options = JSON.parse(options.ordercode);
let ordercode = {};
try {
ordercode = JSON.parse(options.ordercode.replace(/\\\"/g, '"'));
this.options = ordercode;
options.scene && (this.scene = options.scene);
options.backUrl && (this.backUrl = options.backUrl);
this.totalMoney = Number( JSON.parse(options.ordercode).totalAmount).toFixed(2);
this.totalMoney = Number( ordercode.totalAmount).toFixed(2);
} catch (error) {
wx.showToast({
icon: 'none',
title: JSON.stringify(error),
});
}
}
console.log('wxPay-onLoad->', this.options);
this.options_orderType = options.orderType;
this.options_isCard = options.isCard;
......@@ -155,6 +179,21 @@ export default {
wx.setStorageSync("sessionid", options.sessionid);
} catch (e) {}
}
this.getOpenId();
},
methods: {
launchAppError(e) {
console.log('launchAppError->', e);
wx.showToast({
icon: 'none',
title: 'error',
});
// wx.showToast({
// icon: 'none',
// title: JSON.stringify(e.target.errMsg),
// });
},
getOpenId() {
let that = this;
wx.getStorage({
key: "openid",
......@@ -168,10 +207,28 @@ export default {
},
fail(err) {
log.info("获取err", err);
that.setOpenId(res => {
that.getOpenId();
});
},
});
},
methods: {
setOpenId(callback) {
wx.login({
success: res => {
let code = res.code;
login.get_open_id_by_code({ code}).then(res1 => {
if (res1.data.code == 200) {
wx.setStorage({
key: "openid",
data: res1.data.data
});
callback();
}
})
},
})
},
testToPaySuccess() {
let _this = this;
let params = `?orderSn=${_this.options.orderSn}`;
......@@ -260,6 +317,10 @@ export default {
});
}
// fn(this);
if (this.options.isXhApp == 1) {
this.showAppModule = true;
return;
}
this.toPage();
};
......@@ -273,6 +334,7 @@ export default {
};
wx.requestPayment(payData);
} else if (['504', '505'].includes(res.data.code)) {
this.message = res.data.msg;
this.isShow = true;
} else {
wx.showToast({ title: res.data.msg, icon: "none" });
......@@ -318,6 +380,11 @@ export default {
});
},
handleConfirm() {
if (this.options.isXhApp == 1) {
// 返回App
this.showAppModule = true;
return;
}
// 如果是代付进入,直接退出小程序
if (this.options.isPayReplace == 1) {
wx.exitMiniProgram({
......@@ -333,11 +400,17 @@ export default {
};
</script>
<style>
<style lang="scss">
.domain {
text-align: center;
padding-top: 50%;
}
.isApp{
button{
width: 50%;
margin-top: 20px;
}
}
.dialog-content__wrapper {
padding: 16px;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment