A小程序跳轉到B小程序,B小程序如何獲取參數?


場景: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
      })
    }

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM