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