小程序
小游戏
企业微信
微信支付
扫描小程序码分享
有方案是新封装个方法 util.js , 这个方案需要每个页面都用到, 有没有更好的解决办法
4 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
有一种方案:
app.js中login后执行回调函数,通过getCurrentPages获取当前的页面,再调用page的onLogin 函数
//app.js中
async login(){
//登录获取用户信息
var res = await this.request({
name:"user",
data:{
action:"get"
}
})
if(res.success && res.userInfo){
this.setUserInfo(res.userInfo)
}else{
this.clearUserInfo()
let pages = getCurrentPages()
if(pages.length > 0){
// console.log(pages[pages.length-1])
pages[pages.length-1].onLogin && pages[pages.length-1].onLogin()
},
//page 的js文件中
onLogin(){
// console.log("on login")
var userInfo = app.getUserInfo();
if (userInfo) {
this.setData({
hasUserInfo: true,
userInfo: userInfo
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
这有个终极解决方案:https://developers.weixin.qq.com/community/develop/article/doc/00002ac57208f0e7335d111f156013
解决这个问题,可以看一下我的这篇文章https://developers.weixin.qq.com/community/develop/article/doc/00086219508c28eebf2ce485d56c13
1、onlauch改成同步?
2、onLoad里setTimeOut?
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
有一种方案:
app.js中login后执行回调函数,通过getCurrentPages获取当前的页面,再调用page的onLogin 函数
//app.js中
async login(){
//登录获取用户信息
var res = await this.request({
name:"user",
data:{
action:"get"
}
})
if(res.success && res.userInfo){
this.setUserInfo(res.userInfo)
}else{
this.clearUserInfo()
}
let pages = getCurrentPages()
if(pages.length > 0){
// console.log(pages[pages.length-1])
pages[pages.length-1].onLogin && pages[pages.length-1].onLogin()
}
},
//page 的js文件中
onLogin(){
// console.log("on login")
var userInfo = app.getUserInfo();
if (userInfo) {
this.setData({
hasUserInfo: true,
userInfo: userInfo
})
}
},
这有个终极解决方案:https://developers.weixin.qq.com/community/develop/article/doc/00002ac57208f0e7335d111f156013
解决这个问题,可以看一下我的这篇文章https://developers.weixin.qq.com/community/develop/article/doc/00086219508c28eebf2ce485d56c13
1、onlauch改成同步?
2、onLoad里setTimeOut?