A小程序跳转到B小程序,B小程序如何获取参数?

孤人 提交于 2020-01-08 11:13:04

场景:A小程序跳转至B小程序,A小程序的用户点击某一个入口,跳转到了B小程序,此时如何获取A小程序带来的uid?

参考api:

打开另一个小程序:https://developers.weixin.qq.com/miniprogram/dev/api/open-api/miniprogram-navigate/wx.navigateToMiniProgram.html

获取小程序启动时的参数:https://developers.weixin.qq.com/miniprogram/dev/api/base/app/life-cycle/wx.getLaunchOptionsSync.html

在app.js

App({
  onLaunch: function(options) {
    console.log(options)
    // 展示本地存储能力
    if (options.referrerInfo.extraData && options.referrerInfo.extraData.appName) {
      this.globalData.sourceData.extraData.uid = options.referrerInfo.extraData.uid;
      this.globalData.sourceData.extraData.dvid = options.referrerInfo.extraData.dvid;
      this.globalData.sourceData.extraData.appName = options.referrerInfo.extraData.appName;
    }
  },
  globalData: {
    sourceData: {
      uid: null, //用户标识 此处模拟用户没登录的情况
      dvid: null, //腾讯返回的unionid
      appName:'',
    }
  }
})

在页面的onload

    let localUid = wx.getStorageSync('uid');
    if (!localUid) {
      if (app.globalData.sourceData.ycApp && app.globalData.sourceData.ycApp.uid) {
        wx.setStorage({
          key: 'uid',
          data: app.globalData.sourceData.ycApp.uid
        });
        that.setData({ //是否显示消息提示选项
          uid: app.globalData.sourceData.ycApp.uid,
        })
      }
    } else {
      that.setData({ //是否显示消息提示选项
        uid: localUid,
      })
    }
    if (that.data.uid) { //存在uid 
      that.setData({ //是否显示消息提示选项
        notifyBar: true,
      })
    } else {
      that.setData({
        notifyBar: false
      })
    }

  

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!