示例代码:
<template>
<div>
<button @click="go">跳转</button>
</div>
</template>
<script>
import { jsSDK } from '@/libs/wxjs.js'
export default {
methods: {
go () {
let r = {
'appId': 'xx',
'nonceStr': 'xx',
'package': 'xx',
'paySign': 'xx',
'signType': 'MD5',
'timeStamp': 'xx'
}
let opthions = {
appId: r.appId,
timeStamp: r.timeStamp,
nonceStr: r.nonceStr,
package: r.package,
signType: r.signType,
paySign: r.paySign
}
jsSDK(opthions)
}
}
}
</script>
export function jsSDK (params) {
if (typeof WeixinJSBridge === 'undefined') {
if (document.addEventListener) {
document.addEventListener('WeixinJSBridgeReady', onBridgeReady, false)
} else if (document.attachEvent) {
document.attachEvent('WeixinJSBridgeReady', onBridgeReady)
document.attachEvent('onWeixinJSBridgeReady', onBridgeReady)
}
} else {
onBridgeReady(params)
}
}
function onBridgeReady (params) {
WeixinJSBridge.invoke(
'getBrandWCPayRequest', {
'appId': params.appId, // 公众号ID,由商户传入
'timeStamp': params.timeStamp, // 时间戳,自1970年以来的秒数
'nonceStr': params.nonceStr, // 随机串
'package': params.package,
'signType': params.signType, // 微信签名方式:
'paySign': params.paySign // 微信签名
},
function (res) {
if (res.err_msg === 'get_brand_wcpay_request:ok') {
console.log('---')
} else {
console.log('---')
}
})
}
这样在微信app内部可以正常跳转,但是用safari或者其他浏览器,点击【跳转】按钮, 没有反应
H5需要使用H5支付而不是JSAPI支付,JSAPI支付仅适用于微信浏览器内
后面怎么处理了