uni-app uniCloud.sendSms一直报错超时
uni-app uniCloud.sendSms一直报错超时
操作步骤:
- 请求短信
预期结果:
- 正常获取到短信
实际结果:
- 超时
bug描述:
2022年5月16日 0:05
uniCloud.sendSms一直报错超时
errCode: 3004,
code: 3004,
errMsg: ‘短信发送失败:短信发送失败:Response timeout for 5000ms, GET https://openapi.dcloud.net.cn/uniSms/code -1 (connected: true, keepalive socket: false, agent status: {“createSocketCount”:1,“createSocketErrorCount”:0,“closeSocketCount”:1,“errorSocketCount”:0,“timeoutSocketCount”:0,“requestCount”:0,“freeSockets”:{},“sockets”:{},“requests”:{}}, socketHandledRequests: 1, socketHandledResponses: 0)’
更多关于uni-app uniCloud.sendSms一直报错超时的实战教程也可以访问 https://www.itying.com/category-93-b0.html
appid 或者短信的 smsKey 私信发一下
更多关于uni-app uniCloud.sendSms一直报错超时的实战教程也可以访问 https://www.itying.com/category-93-b0.html
在使用 uniCloud.sendSms
发送短信时,如果一直报错超时,可能是由于以下几个原因导致的。你可以根据以下步骤进行排查和解决:
1. 检查网络连接
- 确保你的设备或服务器网络连接正常,能够访问外网。
- 如果是在本地开发环境中,检查是否有网络代理或防火墙阻止了请求。
2. 检查云函数配置
-
确保你已经在
uniCloud
控制台中正确配置了短信服务(如阿里云、腾讯云等)。 -
检查云函数的超时时间设置,默认情况下,云函数的超时时间为 5 秒。如果短信服务响应较慢,可以适当增加超时时间。
在
cloudfunctions
目录下的config.json
文件中,可以设置timeout
参数:{ "timeout": 10000 // 设置为 10 秒 }
3. 检查短信服务商配置
- 确保你在短信服务商(如阿里云、腾讯云)的配置正确,包括
AccessKeyId
、AccessKeySecret
、SignName
、TemplateCode
等。 - 检查短信服务商是否有发送频率限制或额度不足。
4. 检查代码逻辑
-
确保你在调用
uniCloud.sendSms
时传递的参数正确,包括phoneNumber
、templateId
、data
等。 -
检查是否有异步操作未正确处理,导致超时。
示例代码:
uniCloud.sendSms({ phoneNumber: '12345678901', // 手机号 templateId: 'SMS_123456789', // 短信模板ID data: { code: '123456' // 短信验证码 } }).then(res => { console.log('短信发送成功', res); }).catch(err => { console.error('短信发送失败', err); });