vue模式下h5调用支付宝支付

1.vue模式下直接跳转支付宝APP支付
main.js里面全局设置

function plusReady() {
    checkUpdate()
        // 设置一个全局plusready状态
    store.state.isplusReady = true
    store.state.storageEngine = plus.storage
    plus.screen.lockOrientation('portrait')
    plus.navigator.setFullscreen(false)

    // 设置一个全局plusready状态
    store.state.isplusReady = true
    store.state.storageEngine = plus.storage

    // 监听返回按键
    let now = false
    let time = null
    plus.key.addEventListener('backbutton', function() {
        // 如果是首页则执行退出操作
        if (
            router.currentRoute.path === '/home' ||
            router.currentRoute.path === '/my-center'
        ) {
            time = null
            if (now) {
                now = false
                plus.runtime.quit()
            } else {
                now = true
                plus.nativeUI.toast('再按一次退出', { duration: 'short' })
                time = setTimeout(() => {
                    now = false
                }, 1000)
            }
            // 如果是内页则执行路由返回操作
        } else {
            router.go(-1)
        }
    })

    if (process.env.NODE_ENV === 'production') {
        //初始化数据库 就是当登录的时候拉取缓存在本地的信息
        db.syncDb2Memory()
            //初始化登录信息
        initUserInfo()

        let app = new Vue({
            router,
            store,
            created() {
                wsStart()
            },
            render: h => h(App)
        }).$mount('#app')
    }
}
Vue.mixin({
    computed: {
        plusReady() {
            return this.$store.state.isplusReady
        }
    }
})

组件中调用支付

在export default上面写
let aliChannel;
let wxChannel;
window.plus && plus.payment.getChannels(function(channels) {
  for(var i = 0; i < channels.length; i++) {
    if (channels[i].id == "wxpay") {
      wxChannel=channels[i];
    }else{
      aliChannel=channels[i];
    }
  }
})
支付宝支付
            plus.payment.request(
              wxChannel,
              payConfig,
              result=> {
                plus.nativeUI.alert("支付成功!", ()=> {
                  _this.$router.replace({ name: "lotterydraw" })
                });
              },
              function(error) {
                console.log(JSON.stringify(error))
                plus.nativeUI.alert("支付未成功");
              }
           
展开阅读全文

没有更多推荐了,返回首页