webview页面
提示:wx一定要导入sdk
// 返回小程序,并携带当前 WebView 的 URL 和状态
wx.miniProgram.postMessage({
type: 'requestPayment',
data: {
webviewUrl: window.location.href,
orderNum: this.orderNum,
type: 'requestPayment'
}
})
setTimeout(() => {
wx.miniProgram.navigateBack({
delta: 1,
});
}, 300);
小程序webview
<template>
<view>
<web-view
:key="webviewKey"
:src="url"
@message="onWebMessage"
@onPostMessage="onPostMessage"
></web-view>
</view>
</template>
<script>
export default {
data() {
return {
url: "",
webviewKey: ''
};
},
onLoad(options) {
console.log(options);
//this.url = options.url
if (options.url) {
this.url = decodeURIComponent(options.url);
}
if(options.token){
uni.setStorageSync('token',options.token)
}
console.log("-----------", this.url);
},
onShow(e) {
},
methods: {
onWebMessage(e) {
let list = e.detail.data;
let payFlag = list.find((v)=>{
return v.type == "requestPayment"
})
if(payFlag){
this.payFun(payFlag);
}
console.log("onWebMessage", e);
},
// 支付方法
payFun(params){
},
onPostMessage(e) {
console.log("onPostMessage", e);
},
},
};
</script>
<style></style>