小程序 扫二维码、URL Scheme 打开解析参数

1,866 阅读1分钟

1、小程序码

由微信开发平台生成的二维码打开

onLoad(options) {
    if (options.scene) {
    // 小程序码打开
    this.pageParams = urlParams(options.scene)

    }else{
    // 非小程序码打开
    }
        
},

onLoad(options) {
    if (options.scene) {
    // 小程序码打开

    }else{
    // 非小程序码打开
    }
        
},

export function urlParams (scene) {
  const str = decodeURIComponent(scene).replace('?', '&')
  let strArr = str.split('&')
  strArr = strArr.filter(item => item)
  const result = {}
  strArr.filter(item => {
    const key = item.split('=')
    result[key[0]] = key[1]
  })
  return result
}

2、扫外部二维码

接受的参数 q=https%3A%2F%2Fm.nongmuren.com%3FgoodId%3D141&scancode_time=1653616818

onLoad(e) {
   let url = decodeURIComponent(e.q)
   this.goodId = getQueryVariable(url, 'goodId')
        
},
/**
 * 解析参数
 * @param {*} 
 */
 getQueryVariable(url,variable) {
        var query = url
        console.log(url)
        let params = query.slice(query.indexOf('?')+1)
        var vars =  params.split("&");
        for (var i = 0; i < vars.length; i++) {
                var pair = vars[i].split("=");
                if (pair[0] == variable) {	
                        return pair[1];
                }
        }
        return (false);
},

3、URL Scheme

URL Scheme 和普通页面传参一样 可直接获取