前言

为了更加方便的将小程序推广,微信现在推出了扫描普通二维码进入某个微信小程序的指定页面,而小程序是没有链接性的地址的,所以,我们还是要先阅读一下文档

实现步骤

step 1:开启扫描二维码打开小程序

登录小程序后台,进入“开发-开发设置-扫普通链接二维码打开小程序”,开启功能后即可配置二维码规则。

step2:配置二维码

二维码规则:

校验文件:

下载随机校验文件,并将文件上传至服务器指定位置的目录下,方可通过所属权校验。

这里要确定的是,能够访问到这个文件,我这里直接使用的nginx,在nginx下添加配置

location /tra/校验文件名.txt {
            alias  /校验文件名.txt;
        }

使用微信扫码,只要是你配置的前缀名,他就会去服务器找这个校验文件,如果校验成功,就会去小程序你指定的页面。

小程序功能页面:

小程序功能页面可打开指定页面,扫描二维码可打开对应页面。

step3:扫描二维码打开小程序

配置二维码时可配置测试链接,利用第三方二维码生成工具,使用测试链接生成二维码,利用微信“扫一扫”或微信内长按识别二维码跳转小程序。

链接?后为参数部分,可在onLoad事件中提取q参数并自行decodeURIComponent一次,即可获取原二维码的完整内容。

onLoad: function (options) {
    if (options.q) {
      let queryAll = decodeURIComponent(options.q);
      let id = gup('id', queryAll);
      //console.log(queryAll);
      //console.log(id);
    }
  },

/**
 * 获取URL中某个字符串字段
 * gup('id', 'https://www.lubanso.com/wx/home/?id=bHViYW5zb7W7DJI=&jhkfdhkjfda')
 * //===> bHViYW5zb7W7DJI=
 */
function gup(name, url) {
  if (!url) url = location.href;
  name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
  var regexS = "[\\?&]" + name + "=([^&#]*)";
  var regex = new RegExp(regexS);
  var results = regex.exec(url);
  return results == null ? null : results[1];
}