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