授权做一个全局变量,异步问题,打印出来后undefined,要如何修改才行?求帮助
app.js打印结果:
login.js打印结果:
app.js代码:
// app.js
App({
onLaunch:async function () {
if (!wx.cloud) {
console.error('请使用 2.2.3 或以上的基础库以使用云能力');
} else {
wx.cloud.init({
env: ,
traceUser: true,
});
}
this.globalData = {};
await this.loadUserInfo();
}
async loadUserInfo() {
var that = this;
const loginRes = await wx.cloud.database().collection('login')
.where({
_openid: 'openid'
}).get()
console.log(loginRes);
that.globalData.userInfo = loginRes.data[0];
console.log(that.globalData.userInfo);
},
is_login() {
console.log(this.globalData.userInfo);
if (this.globalData.userInfo) {
return true
} else {
return false
}
},
login.js代码
// pages/login/login.js
const app =getApp();
const db = wx.cloud.database();
Page({
/**
* 页面的初始数据
*/
data: {
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
},
// 获取头像
getAvatar(event){
console.log(event.detail.avatarUrl);//临时头像路劲地址
let avatarUrl = event.detail.avatarUrl;//临时地址
let suffix = /\.[^\.]+$/.exec(avatarUrl)[0];
wx.cloud.uploadFile({
cloudPath: 'loginImages/' + new Date().getTime() + suffix,
filePath:avatarUrl //上传到云端的路劲,
}).then(res => {
console.log(res.fileID);
this.setData({
avatarUrl:res.fileID
})
})
},
login(event){
var that = this;
console.log(event.detail.value.nickName);
let nickName = event.detail.value.nickName;
// let avatarUrl = that.data.avatarUrl;
if(!nickName){
wx.showToast({
title:'请填写昵称',
icon:'error'
})
return
}
if(!this.data.avatarUrl){
wx.showToast({
title:'请上传头像',
icon:'error'
})
return
}
async login(event) {
console.log(event);
var that = this;
let nickName = await event.detail.value.nickName;
console.log('用户名', nickName);
let avatarUrl = await that.data.avatarUrl;
console.log('用户头像', avatarUrl);
let openid =await app.globalData.openid;
console.log("获取app.globalData.openid",openid);
db.collection('login').where({
_openid:openid
}).get({
success (res){
console.log('查询是否有用户信息',res)
if(res.data.length == 0){
//添加记录到数据库
db.collection('login').add({
data:{
num:Date.now(),//!QQ号
avatarUrl:avatarUrl,
nickName:nickName
},
success(result){
console.log('登陆成功',result)
wx.showToast({
title:'登陆成功',
})
setTimeout(function(){
wx.navigateBack({})
},1500)
}
})
}else{
console.log("用户已存在")
that.setData({
userInfo:res.data[0]
})
}
}
})
},
我的页面user-center.js代码
// pages/user-center/user-center.js
const app = getApp();
const db = wx.cloud.database();
Page({
/**
* 页面的初始数据
*/
data: {
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
console.log(app.is_login());
if(app.is_login()){
this.setData({
userInfo: app.globalData.userInfo,
avatarUrl: app.globalData.userInfo.avatarUrl,
nickName: app.globalData.userInfo.nickName
})
}
},
onuserInfo(){
wx.navigateTo({
url:'/pages/login/login'
})
},