場景:A小程序跳轉至B小程序,A小程序的用戶點擊某一個入口,跳轉到了B小程序,此時如何獲取A小程序帶來的uid?
參考api:
獲取小程序啟動時的參數: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 }) }