微信小程序:使用普通链接二维码跳转到小程序,解析二维码携带参数(微信扫普通普通链接二维码和小程序里扫二维码解析参数方法)

  开始使用普通链接扫二维码进入小程序后,必然会面临解析链接获取其携带参数的问题,本文概述了我使用此功能的过程。

(一)首先解析二维码携带参数:

1.在小程序开发文档里描述了获取二维码链接内容的方法

2.获取链接内容之后就要获取其携带参数了

在pages/utils/util.js根据正则匹配定义了解析链接的方法,在功能页面直接引用就可以了:

let getkcard = function (url, name) {

  var reg = new RegExp('(^|&|/?)' + name + '=([^&|/?]*)(&|/?|$)', 'i')

  var r = url.substr(1).match(reg)

  if (r != null) {

    return r[2]

  }

  return null;

}

module.exports = {

  formatTime: formatTime,

  getkcard: getkcard

}

(二)微信扫普通普通链接二维码:在功能页面使用参数

1.首先引用utils

2.在onload方法里引用

 onLoad: function (options) {

    var that=this;  

    console.log("options携带参数:" + JSON.stringify(options))

    //在此函数中获取扫描普通链接二维码参数

    // 二维码链接内容会以参数q的形式带给页面,在onLoad事件中提取q参数并自行decodeURIComponent一次,即可获取原二维码的完整内容。

    if(options.q!== undefined){

      let q = decodeURIComponent(options.q);

      console.log("url=" + q)

      console.log("kcardCode=" + util.getkcard(q, 'kcardCode'))

      var kcardCode = util.getkcard(q, 'kcardCode');

      console.log("解析获取到的kcardCode值:"+kcardCode);

      that.setData({

        kcardCode:kcardCode

      });

    }else{

      console.log("未获取到扫码信息:"+kcardCode);

      wx.showToast({

        title: '错误:未获取到扫码信息!',

        duration:3000

      })

      return false

    }

  },

(二)小程序里扫二维码解析参数方法

1.同理引用utils

2.点击扫描的按钮之后调用了wx.scanCode

    var that = this;  

    //扫描API

    wx.scanCode({ 

      // onlyFromCamera: true,//只允许从相机扫码

      success(res) { //扫描成功

        console.log(res.result) //输出回调信息

        let result = decodeURIComponent(res.result);

        console.log("url=" +result)

        console.log("参数 kcardCode=" + util.getQueryString(result, 'kcardCode'))

        var kcardCode = util.getQueryString(result, 'kcardCode');

        console.log("解析获取到的kcardCode值:"+kcardCode);

        that.setData({

          kcardCode:kcardCode

        });

 });

经测试,扫描二维码可以获取到参数信息

完结撒花

 

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值