保存后解析云代码返回错误 107 无法开机自检



我在 afterSave 实现我的注册逻辑时遇到问题。我要做的就是在用户注册时在钱包类中添加一笔交易,给他一些积分。所以我有我的云代码功能:

// Add welcome bonus on signup
Parse.Cloud.afterSave(Parse.User, (request) => {
// commit transaction only on signup completed with phone number
  if (request.object.get('username')) {
    const wallet = new Parse.Object('Wallet')
    wallet.set('value', 100)
    wallet.set('action', '+')
    wallet.set('description', 'welcome bonus')
    wallet.set('user', {
       __type: 'Pointer',
       className: '_User',
       objectId: request.object.id
    })
    wallet.save(null,{useMasterKey: true}).then(
      (result) => console.log('objectId',result.id),
      (error) => console.log('code:',error.code,'message:',error.message)
    )
  }
})

由于 Parse.Cloud.useMasterKey(( 已被弃用,我编写了有关如何在保存方法上使用 useMasterKey 选项的 Parse 文档,但我仍然收到此错误:

info: afterSave triggered for _User for user undefined:
  Input: {...} className=_User, triggerType=afterSave, user=undefined
code: 107 message: Received an error with invalid JSON from Parse: Cannot POST /classes/Wallet

这是我的钱包表:


| 值:数字 | 操作:字符串 |

说明:字符串 | 用户:指针<_User> |


以及创建的默认列 at、updateAt、objectId 和 ACL

我正在本地主机上工作。

对正在发生的事情有什么想法吗?

我敢打赌这是您设置用户的方式的问题。如果该字段设置为指向用户对象的指针字段,则您所要做的就是设置为wallet.set('user', request.object); 请求的其余部分看起来不错,所以我的直觉告诉我它只是不喜欢您的设置的 JSON 格式。即,当我在仪表板上设置指针时,我只需输入对象 ID。我不把它格式化为指针。

此外,当您

保存用户时,这将在任何时候触发,因此无论如何它都不会在此问题之外执行您想要的操作。

相关内容

最新更新