函数名login index.js:// cloud function - login
const cloud = require("wx-server-sdk");
cloud.init({
env: 'test-9gnvx26ea1ae24cd',
// env: "release-824dd3",
traceUser: true
});
/**
* 将经自动鉴权过的小程序用户 openid 返回给小程序端,
* 若取得的数据多于一条, 则以 data[0] 为准
*/
exports.main = async(event, context) => {
// console.log(event, context);
// 获取 WXContext (微信调用上下文), 包括 OPENID, APPID, UNIONID(需满足获取条件)
const wxContext = cloud.getWXContext();
return await cloud.database().collection("adminInfo").where({
openid: wxContext.OPENID
}).get().then(r => {
console.log("[result]", r);
const isAdmin = r.data.length && r.data[0].isAdmin;
if (isAdmin) {
return {
openid: wxContext.OPENID,
unionid: wxContext.UNIONID,
isAdmin: true,
name: r.data[0].name,
isSuper: r.data[0].isSuper
};
} else {
return {
openid: wxContext.OPENID,
unionid: wxContext.UNIONID,
isAdmin: false
};
}
}).catch(err => {
return {
err: true,
errMsg: err
}
});
}
报错【login】call failed Error: errCode: -404011 cloud function execution error | errMsg: cloud.callFunction:fail requestID , cloud function service error code -501000, error message Environment not found; at cloud.callFunction api;
本地调试成功截图如上
关闭本地调试截图
package.json文件 {
"name": "login",
"version": "1.0.1",
"description": "Login and check users' auth.",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "Dorence Deng",
"license": "MIT",
"dependencies": {
"wx-server-sdk": "latest"
}
}
const cloud = require("wx-server-sdk"); cloud.init({ env: cloud.DYNAMIC_CURRENT_ENV, // env: "release-824dd3", traceUser: true }); exports.main = async(event, context) => { // console.log(event, context); // 获取 WXContext (微信调用上下文), 包括 OPENID, APPID, UNIONID(需满足获取条件) const wxContext = cloud.getWXContext(); return await cloud.database().collection("UserInfo").where({ openid: wxContext.OPENID }).get().then(r => { console.log("[result]", r); const isAdmin = r.data.length && r.data[0].isAdmin; if (isAdmin) { return { openid: wxContext.OPENID, unionid: wxContext.UNIONID, isAdmin: true, name: r.data[0].name, isSuper: r.data[0].isSuper }; } else { return { openid: wxContext.OPENID, unionid: wxContext.UNIONID, isAdmin: false }; } }).catch(err => { return { err: true, errMsg: err } }); }
我复制了你的代码,除了改了下数据库的名字,还有env,并没有复现你的问题,可以调用成功的。你看看这是我的本地的调用方式,你本地代码是怎么调用的,发出来看看
这是我本地调用的代码 wx.cloud.callFunction({ name: 'logincopy', success(res){ console.log('test::::',res) }, fail(err){ console.log('test::::',err) } })
找不到云环境...从本地上传更新一下云函数试试?