问题解决:云函数未被声明,Error: errCode: -504002 functions execute fail ReferenceError: could is not defined

10 篇文章 0 订阅
7 篇文章 0 订阅
问题:

在编译的过程中,点击注册/登录,出现问题,错误结果显示‘could’未被声明。

WAServiceMainContext.js?t=wechat&s=1685572854519&v=2.32.0:1 Error: cloud.callFunction:fail Error: errCode: -504002 functions execute fail | errMsg: ReferenceError: could is not defined
    at Runtime.exports.main [as handler] (:19202/var/user/index.js:13)
    at Runtime.handleOnce (:19202/var/runtime/node12/Runtime.engine.js:219)
    at Timeout._onTimeout (:19202/var/runtime/node12/Runtime.engine.js:56)
    at listOnTimeout (:19202/appservice/internal/timers.js:549)
    at processTimers (:19202/appservice/internal/timers.js:492) (callId: 1685686549514-0.5596697852395012) (trace: 14:15:49 start->14:15:49 system error (Error: errCode: -504002 functions execute fail | errMsg: ReferenceError: could is not defined
    at Runtime.exports.main [as handler] (:19202/var/user/index.js:13)
    at Runtime.handleOnce (:19202/var/runtime/node12/Runtime.engine.js:219)
    at Timeout._onTimeout (:19202/var/runtime/node12/Runtime.engine.js:56)
    at listOnTimeout (:19202/appservice/internal/timers.js:549)
    at processTimers (:19202/appservice/internal/timers.js:492)), abort)
    at R (<anonymous>:1:163208)
    at <anonymous>:1:195110(env: Windows,mp,1.06.2303220; lib: 2.32.0)
errorReport @ WAServiceMainContext.js?t=wechat&s=1685572854519&v=2.32.0:1
thirdErrorReport @ WAServiceMainContext.js?t=wechat&s=1685572854519&v=2.32.0:1
(anonymous) @ WAServiceMainContext.js?t=wechat&s=1685572854519&v=2.32.0:1
i @ WASubContext.js?t=wechat&s=1685572854519&v=2.32.0:1
(anonymous) @ WASubContext.js?t=wechat&s=1685572854519&v=2.32.0:1
_privEmit @ WASubContext.js?t=wechat&s=1685572854519&v=2.32.0:1
emit @ WASubContext.js?t=wechat&s=1685572854519&v=2.32.0:1
(anonymous) @ WASubContext.js?t=wechat&s=1685572854519&v=2.32.0:1
Ne @ WASubContext.js?t=wechat&s=1685572854519&v=2.32.0:1
je @ WASubContext.js?t=wechat&s=1685572854519&v=2.32.0:1
Y @ WASubContext.js?t=wechat&s=1685572854519&v=2.32.0:1
(anonymous) @ WASubContext.js?t=wechat&s=1685572854519&v=2.32.0:1

云函数文件夹cloud中的login.js文件部分代码:

// 云函数入口函数
exports.main = async (event) => {
  const { nickName, avatarUrl } = event
  const {OPENID} = cloud.getWXContext()
  /**对用户信息进行判断,有则用户则登录,反之注册 */
  /**1.初始化集合 */
  const db =could.database()

  /**2.指定集合 */
  const userInfo = db.collection('userInfo')

  /**数据库内新增数据 */
  const data = await userInfo.add({
    data:{
      nickName,
      avatarUrl,
      money: 0,
      loveValue: 0,
      message: 0,
      _openid:OPENID 
    }
  })

 return {
    data,
    // event,
    // openid: wxContext.OPENID,
    // appid: wxContext.APPID,
    // unionid: wxContext.UNIONID,
  }
}

小程序中me.js文件部分代码:

  /**用户授权 */
  async getUserInfo() {
    /**1.用户授权获取信息 */
    const {
      userInfo:{ nickName,avatarUrl }
    } = await wx.getUserProfile({
      desc: '用于完善用户信息',
    })
    /**2.把当前用户信息交付给后端,存储生成账号 */
    wx.cloud.callFunction({
      name:'login',
      data:{
        nickName,
        avatarUrl
      }
    })
  },
原因:

could未被声明导致的错误,云函数对要创建的数据库集合出错,应该是const db =cloud.database(),而被我错误写成const db =could.database()

解决:

在云函数文件夹下的login.js下改成正确的const db =cloud.database()

更改后:

但是修改之后清除缓存,在重新编译,点击登录/注册,依旧出现上述问题。

原因:

云函数,云函数,在云端的函数还未被更新,

解决:

要重新对login.js文件进行上传更新部署,在去进行清除缓存,再编译后,去点击登录/注册。

更改后:

成功将信息上传到云开发的数据库中。

在这里插入图片描述

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值