支付宝扫码跳转小程序并传参

217 阅读1分钟
  1. 关联普通链接二维码

image.png

  1. 参数解析

App.vue文件中增加onLaunch方法。 支付宝的二维码只能通过onLaunch方法接收到参数,通过onLoad无法接收,这点是和微信最大的区别

    onLaunch: function (options) {
        console.log('App Launch')
        if(options.query && options.query.qrCode){
            this.globalData.qrCode =  options.query.qrCode
        }
    }

在要跳转的页面中读取globalData.qrCode,并且解析成对象。 例子: test.com?name=zhangsan&sex=1&age=18

     onLoad(option) {
        let qrCode = getApp().globalData.qrCode;
        let name = getUrlSingleParam('name', decodeURIComponent(qrCode))
     }
     
     let getUrlSingleParam = (key, url) => {
        const reg = new RegExp("(\\?|&)" + key + "=([^&]*)(&|$)")
        const r = url.match(reg)
        if (r != null) {
            return r[2]
        }

        return null
    }