有没有大佬救救我!这个我找了好多我都没搞明白咋回事!
const config = require('/utils/config.js')
const util = require('/utils/util.js')
App({
onLaunch: function () {
if (!wx.cloud) {
console.error('请使用 2.2.3 或以上的基础库以使用云能力')
} else {
wx.cloud.init({
traceUser: true,
env: config.env
})
var openid = wx.getStorageSync('openid');
console.log(openid,'-----------------------------------')
if (openid) {
this.globalData.openid = openid
} else {
wx.cloud.callFunction({
name: 'login',
data:{},
success: res => {
console.log('------------------',res)
this.globalData.openid = res.result.OPENID
wx.setStorageSync('openid', res.result.OPENID);
},
fail: err => {
console.error('[云函数] [login] 调用失败', err)
}
})
}
this.bindLastLoginDate()
}
this.updateManager();
this.getAdvertConfig();
},
云函数那边的login:
const cloud = require('wx-server-sdk')
cloud.init({ env: 'tangmenhao-1610c6' })
exports.main = (event, context) => {
// 这里获取到的 openId、 appId 和 unionId 是可信的,注意 unionId 仅在满足 unionId 获取条件时返回
let { OPENID, APPID, UNIONID } = cloud.getWXContext()
return {
OPENID,
APPID,
UNIONID,
}
}
https://blog.csdn.net/weixin_41593408/article/details/106215353?utm_source=app
经过一位大佬之手,问题终于解决啦!是异步问题!
你把代码放出来看一下啊,看个报错信息能咋看,
第25行出现为空了 你可以检查下是否是请求回调中返回openid为null而你直接使用导致的
若有帮助请帮忙点个"有用"谢谢👇👇