扫码进入指定小程序页面

需求: 通过可配url生成动态二维码,扫码进入不同的小程序的页面

 

 

解决:在app。js中截取二维码参数,强制去reLaunch到不同页面

(因为在app.json中默认第一次展示index页面,所以会有一次index->指定页面的闪动,暂时还没想到什么方法,先这样弄了,请多指教)

onLaunch: function(options) {
    
    const _this = this;
    console.log("app options:", options);
    wx.login({
      success: function(res) {
        var code = res.code;
        _this.data.loginCode = code;
        // 查看是否授权
        wx.getSetting({
          success: function(resSet) {
            //用户未授权用户信息
            console.log("用户未授权", resSet);
            if (options.query.scene) {
              let scene = decodeURIComponent(options.query.scene);
              _this.data.appParams = scene;
              console.log("scene", scene);
              if (scene.indexOf("A") != -1) {
                let arr = scene.split("&");
                let A = arr[0].split("=")[1];
                let B = arr[1].split("=")[1];
                wx.reLaunch({
                  url: `/page/project-detail/project-detail?A=${A}&B=${B}`
                });
              } else if (scene.indexOf("D") != -1) {
                let arr = scene.split("&");
                let D = arr[0].split("=")[1];
                let E = arr[1].split("=")[1];
                wx.reLaunch({
                  url: `/page/service-detail/service-detail?D=${D}&E=${E}`
                });
              }
            } else {
              if (options.query.A) {
                wx.reLaunch({
                  url: `/page/project-detail/project-detail?A=${options.query.A}&B=${options.query.B}`
                });
              } else if (options.query.D) {
                wx.reLaunch({
                  url: `/page/service-detail/service-detail?D=${options.query.D}&E=${options.query.E}`
                });
              }
            }
          }
        });
      },
      fail(err) {
        console.log(err);
        _this.toast("登录失败");
        return;
      }
    });
  },

 

你可能感兴趣的:(小程序,JavaScript,小技巧)