Cloud API isn't enabled, please call wx.cloud.init first 这个错误的意思就是云环境还没有初始化就调用其它的云api了,因此需要先初始化,也就是让我们先 wx.cloud.init() 进行初始化,最简单的办法就是直接在最前面初始化,代码如下:(只需要关注第3~9行即可)
import User from './model/user'
import $ from './utils/tool'
wx.cloud.init({
env: 'zaiyi-3ggp5zmqe2dd21e7',
traceUser: true,
})
const db = wx.cloud.database()
App({
initUiGlobal() {
return new Promise(resolve => {
wx.getSystemInfo({
success: e => {
this.globalData.StatusBar = e.statusBarHeight
this.globalData.screenHeight = e.screenHeight
const capsule = wx.getMenuButtonBoundingClientRect()
if (capsule) {
this.globalData.Custom = capsule
this.globalData.CustomBar = capsule.bottom + capsule.top - e.statusBarHeight
} else {
this.globalData.CustomBar = e.statusBarHeight + 50
}
},
complete: resolve
})
})
},
async login() {
$.loading()
const user = new User()
wx.cloud.callFunction({
name: 'getOpenid',
complete: res => {
console.log(res.result.event.userInfo.openId)
this.globalData.openid = res.result.event.userInfo.openId
db.collection('user').where({_openid:res.result.event.userInfo.openId}).get().then(res => {
console.log(res.data.length)
if(res.data.length == 0){
user.register()
}
})
}
})
$.hideLoading()
},
async onLaunch() {
await this.initUiGlobal()
this.login()
},
globalData: {
StatusBar: null,
Custom: null,
CustomBar: null,
screenHeight: null,
env: 'zaiyi-3ggp5zmqe2dd21e7',
openid: ''
}
})
|