uni-app 短信验证码报错 code":50301,"errCode":"uni-id-send-sms-code-failed","errMsg":"验证码发送失败
uni-app 短信验证码报错 code":50301,“errCode”:“uni-id-send-sms-code-failed”,“errMsg”:"验证码发送失败
操作步骤:
无
预期结果:
正常发送
实际结果:
报错
bug描述:
{
"code": 50301,
"errCode": "uni-id-send-sms-code-failed",
"errMsg": "验证码发送失败",
"msg": "验证码发送失败",
"message": "验证码发送失败"
}
1 回复
在使用 uni-app 开发时,如果你在发送短信验证码时遇到错误代码 50301
,并且错误信息为 uni-id-send-sms-code-failed
,这通常意味着短信验证码发送失败。以下是一些可能的原因及解决方法:
1. 配置问题
- 短信服务商配置错误:确保你在
uniCloud
后台正确配置了短信服务商的 API 密钥、签名等信息。 - 模板 ID 错误:检查短信模板 ID 是否正确,并且确保模板内容符合短信服务商的要求。
2. 权限问题
- 短信服务未开通:确保你已经在短信服务商平台开通了短信服务,并且账户余额充足。
- 权限不足:检查你的账户是否有权限发送短信,某些服务商可能对新账户有限制。
3. 频率限制
- 发送频率过高:短信服务商通常会对短信发送频率进行限制,确保你没有在短时间内发送过多短信。
- 手机号限制:某些服务商可能对同一手机号在短时间内发送短信的次数有限制。
4. 网络问题
- 网络不稳定:检查你的网络连接是否稳定,网络问题可能导致短信发送失败。
- 服务商 API 问题:某些情况下,短信服务商的 API 可能会出现临时故障,可以稍后再试。
5. 代码问题
- 参数错误:检查你在调用发送短信接口时传递的参数是否正确,特别是手机号和模板参数。
- SDK 版本问题:确保你使用的是最新版本的
uni-app
和uni-id
SDK,旧版本可能存在已知问题。
6. 日志排查
- 查看日志:在
uniCloud
后台查看详细的日志信息,可能会提供更具体的错误原因。 - 调试模式:开启调试模式,查看是否有其他错误信息输出。
7. 联系支持
- 联系 uni-app 官方支持:如果以上方法都无法解决问题,可以联系 uni-app 官方技术支持,提供详细的错误信息和日志以便进一步排查。
示例代码
以下是一个发送短信验证码的示例代码:
uniCloud.callFunction({
name: 'uni-id-cf',
data: {
action: 'sendSmsCode',
mobile: '13800138000',
type: 'login'
},
success(res) {
console.log('短信验证码发送成功', res);
},
fail(err) {
console.error('短信验证码发送失败', err);
}
});