From 06c2099b14e7f28ef9727eafea2ff452ea93a113 Mon Sep 17 00:00:00 2001 From: lvqing Date: Mon, 7 Aug 2023 19:21:39 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E4=BF=AE=E6=94=B9sms=E6=9C=8D=E5=8A=A1?= =?UTF-8?q?=E6=96=87=E6=A1=A3=E6=89=8B=E5=86=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/uniCloud/_sidebar.md | 5 +- docs/uniCloud/admin.md | 14 +- docs/uniCloud/aliyun-migrate-business.md | 2 +- docs/uniCloud/send-sms.md | 45 ----- docs/uniCloud/sms/dev.md | 246 +++++++++++++++++++++++ docs/uniCloud/sms/price.md | 43 ++++ docs/uniCloud/sms/service.md | 51 +++++ docs/uniCloud/uni-id-pages.md | 4 +- docs/uniCloud/uni-id-summary.md | 4 +- docs/uniCloud/uni-id.md | 4 +- 10 files changed, 358 insertions(+), 60 deletions(-) create mode 100644 docs/uniCloud/sms/dev.md create mode 100644 docs/uniCloud/sms/price.md create mode 100644 docs/uniCloud/sms/service.md diff --git a/docs/uniCloud/_sidebar.md b/docs/uniCloud/_sidebar.md index 642dd9718..41e91ab2d 100644 --- a/docs/uniCloud/_sidebar.md +++ b/docs/uniCloud/_sidebar.md @@ -57,7 +57,10 @@ * [费用说明](frv/price.md) * [开通服务](frv/service.md) * [开发文档](frv/dev.md) -* [短信sms扩展库](send-sms.md) +* 短信服务 + * [费用说明](sms/price.md) + * [开通服务](sms/service.md) + * [开发文档](sms/dev.md) * uni-ai * [简介](uni-ai-intro.md) * [开发文档](uni-ai.md) diff --git a/docs/uniCloud/admin.md b/docs/uniCloud/admin.md index 8ec7918db..d22a533e6 100644 --- a/docs/uniCloud/admin.md +++ b/docs/uniCloud/admin.md @@ -513,20 +513,20 @@ uni统计开源且基于[uni-admin](/uniCloud/admin)的插件规范提供了插 **步骤一:开通短信服务** -如您首次使用请登录[DCloud开发者中心](https://dev.dcloud.net.cn/)开通短信服务 +如您首次使用请登录[uniCloud控制台](https://unicloud.dcloud.net.cn/pages/uni-sms/sms-account)开通并充值 **步骤二:添加签名与模板** -在[签名配置页面](https://dev.dcloud.net.cn/pages/sms/sign)添加短信签名 +在uniCloud控制台-短信服务-[签名配置](https://unicloud.dcloud.net.cn/pages/uni-sms/sign-config)添加短信签名 -在[模板配置页面](https://dev.dcloud.net.cn/pages/sms/template)中添加短信模板 +在uniCloud控制台-短信服务-[模板配置](https://unicloud.dcloud.net.cn/pages/uni-sms/template-config)内申请自定义模板 例如:`【测试】亲爱的${username}, 祝您生日快乐!感谢您长期以来对xx商城的信任与支持,会员生日月畅享购物双倍积分,期待您的光临!` **步骤三:导出短信模板** 在短信模板页面-点击”导出模板“按钮,导出短信模板。 -![导出短信模板](https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/20230107203307.png) +![导出短信模板](https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/sms/sms20230802-011.png) **步骤四:通过uni-admin控制台发送短信** @@ -558,7 +558,7 @@ uni统计开源且基于[uni-admin](/uniCloud/admin)的插件规范提供了插 ![](https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/20230107204518.png) 可以在发送前点击预览,可以预览发送的第一条短信,用来检查短信内容是否正确,如下: ![](https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/20230107204807.png) -确认短信内容无误后,点击提交即可发送短信,发送短信之后可以在[DCloud开发者中心](https://dev.dcloud.net.cn/)-查看[短信发送记录](https://dev.dcloud.net.cn/pages/sms/sendLog) +确认短信内容无误后,点击提交即可发送短信,发送短信之后可以在uniCloud控制台-短信服务-[发送记录](https://unicloud.dcloud.net.cn/pages/uni-sms/send-record)查看发送记录。 **使用数据表字段作为模板变量发送** @@ -571,8 +571,8 @@ uni统计开源且基于[uni-admin](/uniCloud/admin)的插件规范提供了插 在发送之前可以点击预览,查看第一条短信的内容,确保变量模板配置正确,如下,username将替换为“张三”: ![](https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/20230107205823.png) -确认短信内容无误后,点击提交即可发送短信,发送短信之后可以在[DCloud开发者中心](https://dev.dcloud.net.cn/)-查看[短信发送记录](https://dev.dcloud.net.cn/pages/sms/sendLog) -![](https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/20230107210406.png) +确认短信内容无误后,点击提交即可发送短信,发送短信之后可以在uniCloud控制台-短信服务-[发送记录](https://unicloud.dcloud.net.cn/pages/uni-sms/send-record)查看发送记录。 +![](https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/sms/sms20230802-03.png) 如有任何问题可在[论坛发帖](https://ask.dcloud.net.cn)咨询或加uniCloud短信服务交流QQ群(695645208)咨询 diff --git a/docs/uniCloud/aliyun-migrate-business.md b/docs/uniCloud/aliyun-migrate-business.md index ec03a7337..6ee4e3acf 100644 --- a/docs/uniCloud/aliyun-migrate-business.md +++ b/docs/uniCloud/aliyun-migrate-business.md @@ -172,7 +172,7 @@ url化访问时不管是默认域名还是自定义域名均和上述转发逻 [App升级中心](https://uniapp.dcloud.net.cn/uniCloud/upgrade-center.html#upgrade-center-fee) -[短信](https://uniapp.dcloud.net.cn/uniCloud/send-sms.html#sms-fee) +[短信](https://uniapp.dcloud.net.cn/uniCloud/sms/price) [App一键登录](https://uniapp.dcloud.net.cn/uniCloud/univerify.html#unilogin-fee) diff --git a/docs/uniCloud/send-sms.md b/docs/uniCloud/send-sms.md index 4330863ed..5e1177323 100644 --- a/docs/uniCloud/send-sms.md +++ b/docs/uniCloud/send-sms.md @@ -208,51 +208,6 @@ exports.main = async (event, context) => { 咨询 -### 短信费用说明@sms-fee - -- 短信费用为:0.036元/条。 - -但在实际使用中需要依赖`uniCloud`云服务。如使用uniCloud阿里云商业版,每条大约需要多花0.0000139元,几乎可以忽略不计。您也可以粗略认为每条短信的费用为0.0360139元/条。费用计算规则如下: - - -`短信`业务涉及费用的部分主要是云函数/云对象的使用量、调用次数、和出网流量(如:使用`uni-id-co`或自定义的云函数/云对象来发送短信)。 -接下来,我们对不同资源,分别进行费用评估。 - -我们按照uniCloud官网列出的[按量计费](https://uniapp.dcloud.net.cn/uniCloud/price.html#aliyun-postpay)规则,可以简单得出如下公式: - -`云函数/云对象费用 = 资源使用量 * 0.000110592 + 调用次数 * 0.0133 / 10000 + 出网流量 * 0.8` - -其中: -- 资源使用量 = 云函数内存(单位为G) * 云函数平均单次执行时长(单位为秒) * 调用次数 -- 调用次数 = 发送短信条数(一般情况下发送条数 = 调用次数,特殊情况除外) - - -我们假设如下数据模型: - -- 云函数内存:512M,即0.5G (云函数内存默认为512M,用户可以自定义设置,最低可设置为128M。如果您仅发送短信,没有其他复杂业务,那么内存设为128M可以进一步的降低费用) -- 云函数平均单次执行时长:200毫秒,即0.2秒 -- 短信业务平均每日调用次数:10000次 -- 出网流量:单次请求 2 KB - -按照如上公式,其`短信`业务云函数每天的费用为: - -``` -云函数费用(天) = 资源使用量 * 0.000110592 + 调用次数 * 0.0133 / 10000 + 出网流量 * 0.8 - = 云函数内存(单位为G) * 云函数平均单次执行时长(单位为秒) * 调用次数 + 调用次数 * 0.0133 / 10000 + 出网流量 * 0.8 - = 0.5G * 0.2S * 10000 * 0.000110592 + 10000 * 0.0133/10000 + 10000 * 2 * 0.8 / (1024 * 1024) - = 0.110592 + 0.0133 + 0.0152587890625 - = 0.1391507890625(元) - ≈ 0.139(元) -``` - -结论:如果你的`短信`业务平均每天发送条数为10000条,使用阿里云正式版云服务空间后,对应云函数每天大概消耗0.139元,对比之前的短信费用,平均每次调用多花0.0000139元,几乎可忽略不计。 - - -- 计费条数计算方法:短信内容少于70个字符(每个汉字、标点、空格、字母均算一个字符)算作1条短信,短信内容多于70个字符时,每67个字符算作一条短信,并向上取整(不足67个字符的部分也算做1条)。 例: 短信内容有 100个字符时计费短信条数应为 100 / 67 ≈ 1.49 向上取整后算作2条。 -- 最终按照成功回执状态为"成功"的短信条数计费,成功回执状态可在"发送记录"页面查看。 - -特别注意:短信成功回执最长延迟为72小时。 - ## 群发短信@batch-sms 如有客户关怀、会员服务、电商活动、新品上线等场景需要给用户发送短信时,通过uni-admin群发短信功能,无需开发,及时送达用户。 [群发短信配置](uniCloud/admin.md#batch-sms) diff --git a/docs/uniCloud/sms/dev.md b/docs/uniCloud/sms/dev.md new file mode 100644 index 000000000..df1269f44 --- /dev/null +++ b/docs/uniCloud/sms/dev.md @@ -0,0 +1,246 @@ +### 云函数API + +> 自`HBuilderX 3.3.0`起,本接口支持传入phoneList参数批量发送短信,其他参数均于发送单条短信相同 + +> 自`HBuilderX 3.4.0`起云函数需启用扩展库uni-cloud-sms之后才可以调用sendSms接口,详细说明见:[云函数使用短信扩展库](#extension) + +自HBuilderX 2.8.1起,uniCloud内置了短信发送API。给开发者提供更方便、更便宜的短信发送能力。 + +该服务类似小程序的模板消息,在一个固定模板格式的文字里自定义某些字段,而不是所有文字都可以随便写。 + +使用本功能需要在[uniCloud控制台](https://unicloud.dcloud.net.cn/pages/uni-sms/sms-account)开通并充值,教程参考[短信服务开通指南](https://uniapp.dcloud.net.cn/uniCloud/sms/intro.html) + +因涉及费用,为保障安全,本能力应该在云函数中调用,而不是在前端调用。 + +云函数API名称:`uniCloud.sendSms` + +**参数说明** + +参数结构体为json格式。 + +|参数名 |类型 |必填 |说明 | +|:-: |:-: |:-: |:-: | +|appid |String |是 |DCloud appid,可以在项目manifest.json内看到 | +|smsKey |String |是 |调用短信接口的密钥key,从 dev.dcloud.net.cn/uniSms 后台获取 | +|smsSecret |String |是 |调用短信接口的密钥secret,从 dev.dcloud.net.cn/uniSms 后台获取 | +|phone |String |和phoneList二选一|发送目标手机号,暂仅支持中国大陆手机号 | +|phoneList |Array |和phone二选一 |发送目标手机号,暂仅支持中国大陆手机号,最多50个手机号码,`HBuilderX 3.3.0`起支持 | +|templateId |String |是 |模版Id,短信内容为固定模板,详见下方说明(应用开发阶段,可以使用 DCloud 提供的测试模板) | +|data |Object |是 |模版里的各个变量字段,json格式 | + + +**注意** + +- 如果使用uni-id发送短信,无需自行开发,请参考[uni-id-pages](uni-id-pages.md) + +#### 云函数使用短信扩展库@extension + +自HBuilderX 3.4.0起,短信相关功能移至扩展库`uni-cloud-sms`内。在一段时间内无论开发者是否使用扩展库云函数都可以正常使用`uniCloud.sendSms`。HBuilderX 3.4.0及之后的版本上传云函数时如果没有指定使用`uni-cloud-sms`扩展库的云函数将无法调用uniCloud.sendSms接口。 + +关于扩展库的说明见:[云函数扩展库](cf-functions.md#extension) + +在云函数的package.json内添加`uni-cloud-sms`的引用即可为云函数启用此扩展,无需做其他调整,完整的package.json示例如下: + +```js +{ + "name": "uni-sms", + "extensions": { + "uni-cloud-sms": {} // 启用短信扩展,值为空对象即可 + } +} +``` + +#### 参数templateId说明@smstemplate + +按照国家法律和运营商要求,每个要发送短信的应用,需要备案其短信模板,并且经过运营商的审核。通过审核的模板,会得到一个templateId。 + +短信内容规范: +1. 不能包含涉政、黄赌毒、暴力、房产、移民、贷款、代开发票等违法内容 +2. 不能包含运营商禁止发送的内容 +3. 不能包含侵犯第三方权益的内容(如侵犯他人商标或冒名行为) +4. 营销类短信不能违反广告法 +5. 不能利用短信骚扰或诈骗用户 + +报备模板的方式: + +1. 如果尚未添加签名,请在uniCloud控制台-短信服务-[签名配置](https://unicloud.dcloud.net.cn/pages/uni-sms/sign-config)内添加签名 +2. 在uniCloud控制台-短信服务-[模板配置](https://unicloud.dcloud.net.cn/pages/uni-sms/template-config)内申请自定义模板 + +- 短信签名: +即短信内容开头的【xxx】,可选内容为App或小程序名称、网站名称、企业名称(可使用简称,但需具备辨识度)、商标名称。如`【DCloud】`,即是DCloud官方发送短信的签名。签名的作用是明确告知用户该短信由什么样的主体发送。签名内容只允许包含中文、英文、数字,签名的长度限制为2-8位。 + +- 模板内容: +短信模板必然以短信签名作为开头,其内容中允许有一定的变量,以满足灵活性需求。变量用${}包裹。 + +例如:【hello uni-app】验证码:${code},${expMinute}分钟内有效,请勿泄露并尽快验证。 + +在实际发送短信时,在短信API中传入该模板ID,然后传入合适的变量,最终发送的短信将变为: +`【hello uni-app】验证码:123465,用于注册,15分钟内有效,请勿泄露并尽快验证。` + +- 短信类别: +分为3类,即验证码类短信、通知类短信、营销类短信。验证码类短信,其模板审核简单快速,只能单次发送。 + +**短信测试模板说明** + +运营商目前审核比较严格,处于开发阶段的应用可能无法通过运营商的审核。为方便开发者测试短信功能,DCloud 提供了一个测试模板,该模板的templateId为:uni_sms_test,内容为:`【统一应用软件】尊敬的用户,您的验证码是:${code}。5分钟内有效,请尽快验证。请勿泄漏您的验证码。` + +使用该模板的限制: + +1. 每日最多给10个手机号发送不超过100条短信; +2. 使用该模板也会正常收取费用,请保证账户有充足余额。 + + +#### 返回值 + +接口调用失败时会直接抛出错误,调用成功时才会有返回值。 + +注意接口调用成功不代表短信发送成功,比如目标手机关机会导致短信发送失败。真实的短信发送成功与否请在uniCloud控制台-短信服务-[发送记录](https://unicloud.dcloud.net.cn/pages/uni-sms/send-record)查看发送记录。 + +|参数名 |类型 |说明 | +|:-: |:-: |:-: | +|errCode|Number|成功返回0,调用失败错误码见下表 | +|errMsg|String|错误描述,调用失败时返回 | + +#### 错误码说明 + +|错误码 |错误 | +|:-: |:-: | +|1001 |参数校验未通过,errMsg内会给出详细信息| +|4000 |参数错误 | +|4001 |apiKey 不存在 或 templateId 不正确 | +|4002 |请检查smsKey、smsSecret是否有误 | +|4003 |服务空间或IP地址不在白名单中 | +|5000 |服务错误,请联系DCloud进行排查 | +|5001 |服务器异常,请重试! | + +#### 调用示例 + +```js +// 发送单条短信示例 +'use strict'; +exports.main = async (event, context) => { + try { + const res = await uniCloud.sendSms({ + appid: '__UNI__xxxxxxx', + smsKey: '****************', + smsSecret: '****************', + phone: '188********', + templateId: '100**', // 请替换为自己申请的模板id + data: { + name: 'DCloud', + code: '123456', + expMinute: '3', + } + }) + // 调用成功,请注意这时不代表发送成功 + return res + } catch(err) { + // 调用失败 + console.log(err.errCode) + console.log(err.errMsg) + return { + code: err.errCode, + msg: err.errMsg + } + } +}; + +// 批量发送短信示例 +'use strict'; +exports.main = async (event, context) => { + try { + const res = await uniCloud.sendSms({ + appid: '__UNI__xxxxxxx', + smsKey: '****************', + smsSecret: '****************', + phoneList: ['188********', '138********'], + templateId: '100**', // 请替换为自己申请的模板id + data: { + name: 'DCloud', + code: '123456', + expMinute: '3', + } + }) + // 调用成功,请注意这时不代表发送成功 + return res + } catch(err) { + // 调用失败 + console.log(err.errCode) + console.log(err.errMsg) + return { + code: err.errCode, + msg: err.errMsg + } + } +}; +``` + +本示例使用的模板为: +``` +【uniID】“${name}”验证码:${code},${expMinute}分钟内有效,请勿泄露并尽快验证。 +``` + +本示例发送的短信,在手机上将显示为: +``` +【uniID】“DCloud”验证码:123456,3分钟内有效,请勿泄露并尽快验证。 +``` + + +### 发送失败注意@fail + +- data内如果有`测试`、`test`等字样,系统可能会被判定为测试用途,不会真正把短信下发到对应手机(此行为由运营商控制,可能真实发送,也可能不发送) +- 短信内容不可包含★、 ※、 →、 ●等特殊符号,可能会导致短信乱码 +- 如果本地运行提示`不支持的模板ID`,请更新到`2.9.9+`版本的HBuilderX +- 使用同一短信模板给同一个手机号发送短信时,频率不能太高。如果1分钟内超过1次,会被运营商判定为骚扰或短信重发而被拦截,导致短信发送失败 +- 尽量使用企业实名认证,个人实名认证的审核更严格,更容易发送失败 + + +**其他注意事项** + +- 在uniCloud控制台-短信服务-[安全配置](https://unicloud.dcloud.net.cn/pages/uni-sms/space-white)绑定`uniCloud`服务空间后,将会只允许绑定的服务空间调用此接口,绑定列表为空时表示不限制服务空间 +- 如果是用于用户注册的短信验证码,那么强烈推荐使用uni-id,这是一套云端一体的、完善的用户管理方案,已经内置封装好的短信验证码功能,详见:[uni-id-pages](uni-id-pages.md)。 +- 发送短信前,如果需要图形验证码来防止机刷,可以使用[uni-captcha图形验证码](https://ext.dcloud.net.cn/plugin?id=4048)。在[uni-id-pages](uni-id-pages.md)模板中已经集成了uni-id、uni-captcha +- Android手机在App端获取短信验证码,参考:[https://ask.dcloud.net.cn/article/676](https://ask.dcloud.net.cn/article/676) +- 短信内容超过70个字符时为长短信,需分条发送,每67个字按一条短信计算 +- App平台的短信验证码需求,建议优先通过App一键登陆来替代,更便捷、更便宜。[详见](univerify.md) + +更多问题:欢迎加入DCloud短信技术交流群 +咨询 + + +## 群发短信@batch-sms +如有客户关怀、会员服务、电商活动、新品上线等场景需要给用户发送短信时,通过uni-admin群发短信功能,无需开发,及时送达用户。 +[群发短信配置](uniCloud/admin.md#batch-sms) + +**功能亮点** + +支持给用户打标签分组,按照分组群发短信,可以同时给多个分组群发 +![](https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/20230109154350.png) +短信模板变量支持从数据库表字段中读取 +![](https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/20230109194715.png) +发送前预览短信内容;防止内容错误,提高发送成功率 +![](https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/20230109155202.png) + +如何使用?查看[群发短信配置](uniCloud/admin.md#batch-sms) + + + + diff --git a/docs/uniCloud/sms/price.md b/docs/uniCloud/sms/price.md new file mode 100644 index 000000000..ff5586114 --- /dev/null +++ b/docs/uniCloud/sms/price.md @@ -0,0 +1,43 @@ +# 计费模式 +- 短信费用为:0.036元/条。 + +但在实际使用中需要依赖`uniCloud`云服务。如使用uniCloud阿里云商业版,每条大约需要多花0.0000139元,几乎可以忽略不计。您也可以粗略认为每条短信的费用为0.0360139元/条。费用计算规则如下: + + +`短信`业务涉及费用的部分主要是云函数/云对象的使用量、调用次数、和出网流量(如:使用`uni-id-co`或自定义的云函数/云对象来发送短信)。 +接下来,我们对不同资源,分别进行费用评估。 + +我们按照uniCloud官网列出的[按量计费](https://uniapp.dcloud.net.cn/uniCloud/price.html#aliyun-postpay)规则,可以简单得出如下公式: + +`云函数/云对象费用 = 资源使用量 * 0.000110592 + 调用次数 * 0.0133 / 10000 + 出网流量 * 0.8` + +其中: +- 资源使用量 = 云函数内存(单位为G) * 云函数平均单次执行时长(单位为秒) * 调用次数 +- 调用次数 = 发送短信条数(一般情况下发送条数 = 调用次数,特殊情况除外) + + +我们假设如下数据模型: + +- 云函数内存:512M,即0.5G (云函数内存默认为512M,用户可以自定义设置,最低可设置为128M。如果您仅发送短信,没有其他复杂业务,那么内存设为128M可以进一步的降低费用) +- 云函数平均单次执行时长:200毫秒,即0.2秒 +- 短信业务平均每日调用次数:10000次 +- 出网流量:单次请求 2 KB + +按照如上公式,其`短信`业务云函数每天的费用为: + +``` +云函数费用(天) = 资源使用量 * 0.000110592 + 调用次数 * 0.0133 / 10000 + 出网流量 * 0.8 + = 云函数内存(单位为G) * 云函数平均单次执行时长(单位为秒) * 调用次数 + 调用次数 * 0.0133 / 10000 + 出网流量 * 0.8 + = 0.5G * 0.2S * 10000 * 0.000110592 + 10000 * 0.0133/10000 + 10000 * 2 * 0.8 / (1024 * 1024) + = 0.110592 + 0.0133 + 0.0152587890625 + = 0.1391507890625(元) + ≈ 0.139(元) +``` + +结论:如果你的`短信`业务平均每天发送条数为10000条,使用阿里云正式版云服务空间后,对应云函数每天大概消耗0.139元,对比之前的短信费用,平均每次调用多花0.0000139元,几乎可忽略不计。 + + +- 计费条数计算方法:短信内容少于70个字符(每个汉字、标点、空格、字母均算一个字符)算作1条短信,短信内容多于70个字符时,每67个字符算作一条短信,并向上取整(不足67个字符的部分也算做1条)。 例: 短信内容有 100个字符时计费短信条数应为 100 / 67 ≈ 1.49 向上取整后算作2条。 +- 最终按照成功回执状态为"成功"的短信条数计费,成功回执状态可在"发送记录"页面查看。 + +特别注意:短信成功回执最长延迟为72小时。 \ No newline at end of file diff --git a/docs/uniCloud/sms/service.md b/docs/uniCloud/sms/service.md new file mode 100644 index 000000000..3e3eb71fe --- /dev/null +++ b/docs/uniCloud/sms/service.md @@ -0,0 +1,51 @@ +## 业务开通 + +### 开通流程 +使用开发者账号登录[uniCloud控制台](https://unicloud.dcloud.net.cn/) ,选择`短信服务`栏目。在使用此功能前需要完成实名认证,可前往[开发者中心](https://dev.dcloud.net.cn/pages/user/info)完成实名认证。 + +![](https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/sms/sms20230802-04.png) + +完成实名认证后,阅读短信服务协议并点击协议下方的“同意协议并开通”按钮,便可开通短信服务。 + +![](https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/sms/sms20230802-05.png) + +开通成功后的页面如下图所示: +![](https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/sms/sms20230802-07.png) + +注意: 页面中显示的“账号 API 密钥”用于接口身份验证,此信息需要妥善保存,一旦泄漏可能会给您带来不必要的财务损失。 + +### 充值 +短信服务为预付费业务,在发送短信之前,需要先进行充值。点击页面上的“充值”按钮,可以选择预设金额进行充值,也可以选择自定义金额进行充值,充值金额最小为1元。 + +![](https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/sms/sms20230802-06.png) + +### 签名配置 +例:【dcloud】验证码:${code},用于${action},${expMinute}分钟内有效,请勿泄露并尽快验证。dcloud即为签名。 + +![](https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/sms/sms20230802-08.png) + +### 模板配置 +目前短信签名创建后可立即前往创建短信模板,无需再等待短信签名审核通过且添加短信模板可提高签名审核通过机率。 + +![](https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/sms/sms20230802-09.png) +添加模板完成后,如模板审核通过,则根据[开发文档](https://uniapp.dcloud.net.cn/uniCloud/sms/dev.html)进行短信接入。 +![](https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/sms/sms20230802-10.png) + + +### 安全配置 + +系统提供了 uniCloud 服务空间白名单安全配置,可以提高接口调用安全性,防止被他人盗用。可点击“添加”按钮,选择相应的服务空间完成添加服务空间白名单,服务空间添加成功后,只有列表中的服务空间才可以调用当前账号下的短信接口。此列表为空时,不校验调用方的服务空间。 + +![](https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/sms/sms20230802-11.png) + +### 发送记录 + +系统可查看短信发送记录,但此业务数据量较大,为了维持服务的稳定性,只能查看30天内的某1天的全部调用记录,默认选择当天。 + +![](https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/sms/sms20230802-12.png) + +### 发送统计 + +系统可查看每日发送汇总数据,包括每日请求次数、每日请求成功次数、成功回执数、计费条数、计费金额等汇总数据。 + +![](https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/sms/sms20230802-13.png) diff --git a/docs/uniCloud/uni-id-pages.md b/docs/uniCloud/uni-id-pages.md index d6b8c4c07..8050a2268 100644 --- a/docs/uniCloud/uni-id-pages.md +++ b/docs/uniCloud/uni-id-pages.md @@ -2312,8 +2312,8 @@ uni-id-pages已全面支持:app、小程序、web(uni-id-pages 版本号1.0. ### 短信验证码 为了方便开发调试,`uni-id-pages`未配置短信登录时,自动启动测试模式;直接使用:123456作为短信验证码即可。 -- 使用本功能需要在[DCloud开发者中心 -> 短信验证码](https://dev.dcloud.net.cn/pages/sms/base)开通并充值 -- 教程参考[短信服务开通指南](https://ask.dcloud.net.cn/article/37534) +- 使用本功能需要在[uniCloud控制台](https://unicloud.dcloud.net.cn/pages/uni-sms/sms-account)开通并充值 +- 教程参考[短信服务开通指南](https://uniapp.dcloud.net.cn/uniCloud/sms/intro.html) - 密钥配置:`uni-id配置文件` --> `service` --> `sms` 填写相关密钥信息。 ## 从老版uni-id公共模块升级到uni-id-pages diff --git a/docs/uniCloud/uni-id-summary.md b/docs/uniCloud/uni-id-summary.md index de4588666..48974a56a 100644 --- a/docs/uniCloud/uni-id-summary.md +++ b/docs/uniCloud/uni-id-summary.md @@ -183,7 +183,7 @@ uni-id的云端配置文件在`uniCloud/cloudfunctions/common/uni-config-center/ + `tokenExpiresIn`token有效期,以秒为单位 + `passwordErrorLimit`密码错误重试次数,分ip记录密码错误次数,达到重试次数之后等待`passwordErrorRetryTime`时间之后才可以重试 + `passwordErrorRetryTime`单位为秒 -+ 如果使用`sendSmsCode`接口发送短信需要前往[https://dev.dcloud.net.cn/pages/sms/base](https://dev.dcloud.net.cn/pages/sms/base)充值短信额度,配置`config.json`的`service`字段,字段说明见下方示例 ++ 如果使用`sendSmsCode`接口发送短信需要前往[uniCloud控制台](https://unicloud.dcloud.net.cn/pages/uni-sms/sms-account)开通并充值,配置`config.json`的`service`字段,字段说明见下方示例 + 另外可以按照客户端平台进行不同的配置,参考下面示例 **下面的配置文件中所有时间的单位都是秒** @@ -329,7 +329,7 @@ uni-id-co 与 uni-id-pages 内的前端页面均支持这四个内置规则 |登录方式 |配置及获取方式 | |-- |-- | |用户名、手机号、邮箱+密码|配置`passwordSecret`即可 | -|手机号+验证码 |配置`service.sms`,在开发者中心短信服务内获取配置信息:[短信服务](https://dev.dcloud.net.cn/pages/sms/base) | +|手机号+验证码 |配置`service.sms`,在uniCloud控制台短信服务内获取配置信息:[短信服务](https://unicloud.dcloud.net.cn/pages/uni-sms/sms-account) | |手机号一键登录 |配置`service.univerify`,在开发者中心一键登录服务内获取:[一键登录](https://dev.dcloud.net.cn/pages/uniLogin/index) | |微信小程序登录 |配置`mp-weixin.oauth.weixin`,在微信公众平台获取:[微信公众平台](https://mp.weixin.qq.com/) | |微信公众号登录 |配置`web.oauth.weixin-h5`,在微信公众平台获取:[微信公众平台](https://mp.weixin.qq.com/) | diff --git a/docs/uniCloud/uni-id.md b/docs/uniCloud/uni-id.md index 049dad115..88629ab4a 100644 --- a/docs/uniCloud/uni-id.md +++ b/docs/uniCloud/uni-id.md @@ -135,7 +135,7 @@ exports.main = async (event, context) => { + `tokenExpiresIn`token有效期,以秒为单位 + `passwordErrorLimit`密码错误重试次数,分ip记录密码错误次数,达到重试次数之后等待`passwordErrorRetryTime`时间之后才可以重试 + `passwordErrorRetryTime`单位为秒 -+ 如果使用`sendSmsCode`接口发送短信需要前往[https://dev.dcloud.net.cn/pages/sms/base](https://dev.dcloud.net.cn/pages/sms/base)充值短信额度,配置`config.json`的`service`字段,字段说明见下方示例 ++ 如果使用`sendSmsCode`接口发送短信需要前往[uniCloud控制台](https://unicloud.dcloud.net.cn/pages/uni-sms/sms-account)开通并充值,配置`config.json`的`service`字段,字段说明见下方示例 + 如果使用其他方式发送短信可以参考`sendSmsCode`接口的实现[uni-id sendSmsCode](https://gitee.com/dcloud/uni-id/blob/master/src/lib/verify/send-sms-code.js) + 另外可以按照客户端平台进行不同的配置,参考下面示例 @@ -1421,7 +1421,7 @@ uni.removeStorageSync('uni_id_token_expired') | type | String| 是 |类型,用于防止不同功能的验证码混用,目前支持的类型`login`登录、`register`注册、`bind`绑定手机、`unbind`解绑手机| ``` -// 短信模板示例,请在https://dev.dcloud.net.cn/pages/sms/base申请签名(短信开头中括号内部分)及模板 +// 短信模板示例,请在https://unicloud.dcloud.net.cn/pages/uni-sms/sms-account申请签名(短信开头中括号内部分)及模板 验证码:${code},${expMinute}分钟内有效,请勿泄露并尽快验证。 ``` -- GitLab