uni-app 验证码发送能力uniCloud.sendSms不提供smsKey和smsSecret后无法使用
uni-app 验证码发送能力uniCloud.sendSms不提供smsKey和smsSecret后无法使用
产品分类:uniCloud/App
App下载地址或H5网址: https://static-mp-76f6500b-d2d6-4ca0-8bb1-f5fadc40d4ba.next.bspapp.com/#/
示例代码:
{
"service": {
"sms": {
"name": "验证码",
"codeExpiresIn": 180,
"scene": {
"login-by-sms": {
"templateId": "31240",
"codeExpiresIn": 240
},
"bind-mobile-by-sms": {
"templateId": "31240",
"codeExpiresIn": 240
}
}
},
"univerify": {
"appid": "",
"apiKey": "",
"apiSecret": ""
}
}
}
await uniCloud.sendSms({
// smsKey: '',
// smsSecret: '',
appid: '__UNI__87BE373',
phone: mobile,
templateId,
data: {
name: smsConfig.name,
code,
action,
expMinute: '' + Math.round(codeExpiresIn / 60)
}
})
操作步骤:
尝试验证码登录
预期结果:
可以发送验证码
实际结果:
验证码发送失败
bug描述:
使用了官方模版starter,调用短信功能,不填smsKey,smsSecret报错,填空字符串显示未开通,hbuilder版本3.98(前两天刚升级的)
更新uni-id-pages到1.1.17版本
更新:打包出来的东西可以使用这个能力,但是在hbuilder里面,不管切线上环境还是线下环境都无法使用,怀疑普通更新的hubuilder存在问题
又不行了,奇奇怪怪的
帖子里贴的是临时地址,应该会有访问次数限制,不能用了可以用这个
https://cit3w.cn/#/uni_modules/uni-id-pages/pages/login/login-withoutpwd?type=smsCode
看下官方回复呢,我是升级了就好了
在 uni-app
中使用 uniCloud.sendSms
发送短信验证码时,smsKey
和 smsSecret
是必需的参数,用于验证和授权短信发送服务。如果未提供这些参数,uniCloud.sendSms
将无法正常工作。
解决方法
-
获取
smsKey
和smsSecret
:- 你需要从短信服务提供商(如阿里云、腾讯云等)获取
smsKey
和smsSecret
。这些信息通常在你的短信服务控制台中可以找到。
- 你需要从短信服务提供商(如阿里云、腾讯云等)获取
-
配置
uniCloud
:- 在
uniCloud
的云函数中,配置smsKey
和smsSecret
。你可以在云函数的config.json
文件中添加这些配置,或者在代码中直接使用。
- 在
-
调用
uniCloud.sendSms
:- 在云函数中调用
uniCloud.sendSms
时,确保传入正确的smsKey
和smsSecret
。
- 在云函数中调用
示例代码
以下是一个简单的示例,展示如何在 uniCloud
云函数中发送短信验证码:
// 云函数入口文件
const cloud = require('wx-server-sdk')
cloud.init()
exports.main = async (event, context) => {
const { phoneNumber, code } = event
try {
const result = await cloud.sendSms({
smsKey: 'your_sms_key', // 替换为你的 smsKey
smsSecret: 'your_sms_secret', // 替换为你的 smsSecret
phoneNumber: phoneNumber,
templateId: 'your_template_id', // 替换为你的短信模板ID
params: [code] // 替换为你的短信模板参数
})
return {
code: 0,
message: '短信发送成功',
data: result
}
} catch (error) {
return {
code: -1,
message: '短信发送失败',
error: error
}
}
}