微信小程序> h5学习笔记:小程序内置扫码获取普通二维码链接参数

h5学习笔记:小程序内置扫码获取普通二维码链接参数

浏览量:1994 时间: 来源:hero82748274

连续加班一个月,已经有点吐血。趁今天空闲继续记录一些笔记。之前做的网站和小程序现在可以记录一些笔记出来总结。

今天做小程序帮助一个客户加了扫码功能。微信小程序提供了这个内置扫码的功能。这个函数简单而且方便。只要使用扫码功能就能获取二维码链接的参数。下面先看一下小程序内置提供的调用扫一扫的功能函数。函数非常简单,返回一个sucess函数回调。至于内部做了什么操作。我想是他内部提供的的底层解析的工作,小程序只是提供一个高级的上层API。接下来我们需要在扫码回调后,解析的参数。这些参数有什么特定需求?例如有一些硬件设备提供二维码进行扫码。扫码后获取链接对应的参数让小程序发起参数调用。小程序提供内置扫码参数如下。

 wx.scanCode({      success: (res) = {        console.log(res.result)        //分析一个参数        var result = res.result;        console.log(result)      }    })

有了这个参数后,我们需要定制一个二维码,将这个二维码附加一个链接参数。例
参数的格式是一些http 的请求,带上几个参数。例如下面的链接,带上了设备id参数,带上了蓝牙的广播名btname,手机phone

https://google.com/app.html?deviceId=8888&phone=0000&btname=8888

我们将这个链接做成一个二维码
小程序

接下来编写一个小程序,发起这个函数。当扫码结束后,进行对编码进行解析。我们需要对链接进行一个简单解析,将相应的链接采取字符串裁剪的办法进行处理,获取一个返回的键值对key -value结构。

将参数 deviceId=8888&phone=0000&btname=8888//变成var param = {deviceId:8888,phone:0000,btname:8888}

在小程序里面,编写一个方法,在utils 里面的util.js工具类 添加一个解析的方法。

const parseURL = (url)={  if (url && url.indexOf("?") == -1) return  {}  var startIndex = url.indexOf("?") + 1;  var str = url.substr(startIndex);  var strs = str.split("&");  var param = {}  for (var i = 0; i  strs.length; i++)  {         var result = strs[i].split("=");       var key = result[0];       var value = result[1];       param[key] = value;  }  return param}module.exports = {  parseURL: parseURL}

方法封装完成后,调用小程序内置提供扫码功能。完成这个解析操作。

 const util = require("../../utils/util.js")  wx.scanCode({      success: (res) = {        console.log(res.result)        //分析一个参数        var url = res.result;        var result = util.parseURL(url);        console.log(result)        wx.showModal({          title: '提示',          content: JSON.stringify(result),        })      },      fail:(res)={        wx.showModal({          title: '提示',          content: JSON.stringify(res),        })      }     })

小程序

在开发调试过程中,小程序需要不断扫码进行调试。发现每次编译都会进行多连串的工具。所以需要运用调试模式查看参数是否错误。这样不至于扫码不返回出现的一些尴尬问题。

版权声明

即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。

产品经理

手机 : 13312967497

擅长 : 小程序流量变现

扫码领取礼包

热门模板

  • 头条
  • 搜狐
  • 微博
  • 百家
  • 一点资讯
  • 知乎