后端短信服务接口扩展说明
平台提供了短信服务接口,通过实现短信服务接口,可以扩展接入第三方的短信平台,用于系统下发短信。
接口名:com.kdayun.z1.core.sms.service.SmsService
说明:目前平台已经接入阿里云短信服务平台,具体实现可以参考:com.kdayun.manager.service.impl.CoreAliyunSmsServiceImpl
短信服务接口扩展
步骤 | 操作方法 | 注意项 |
---|---|---|
1 | 实现接口: com.kdayun.z1.core.sms.service.SmsService | |
2 | 在实现类中使用@Override注解重写短信下发方法: public SendSmsResVo sendSms(String phone, String smsType) throws Exception | 功能:根据业务场景类型调用第三方短信平台下发短信 @param phone 有效的手机号 @param 短信的类型 用于区分该短信是在什么业务场景下需要发送的,详细说明见下文 @return SendSmsResVo 详细说明见下文 |
3 | 在实现类中使用@Override注解重写短信验证码校验方法: RetVo checkSmsCode(String phone, String smsCode,String smsType) throws Exception | 功能:校验短信验证码 @param phone 11位的有效手机号 @param smsCode 待验证的短信验证码 @param smsType 短信的类型 用于区分该短信是在什么业务场景下发送的,详细说明见下文 |
4 | (必须)定义短信服务接口实现类说明字段DESC: public static final String DESC = “XXX短信服务平台” | DESC字段用于描述短信服务接口的实现类 |
4 | (必须)定义短信服务接口实现类帮助信息字段HELP: public static final String HELP = “该字段用于描述接口实现类的使用需要配置的数据” | HELP字段用于描述短信服务接口实现类帮助信息 |
短信下发方法:sendSms
类型 | 参数名 | 参数类型 | 说明 |
---|---|---|---|
入参 | phone | String | 接收短信的手机号 |
smsType | String | 短信的类型 用于区分该短信是在什么业务场景下发送的,接口实现类中必须实现以下四种场景: login:登录场景,手机号登录时的短信验证码 regedit:注册场景,注册时的短信验证码 forgetpwd:忘记密码场景,忘记密码时的短信验证码 resetpwd:重置密码场景,重置密码时的短信验证码 除了以上四种场景外,短信服务接口实现类可以自行扩展其他业务场景 | |
返回 | SendSmsResVo | com.kdayun.z1.core.sms.vo.SendSmsResVo | |
state | 枚举类型: com.kdayun.z1.core.base.RetVo.retstate | 短信发送状态码: retstate.OK 表示短信发送接口请求成功 retstate.ERROR 表示短信发送接口请求失败 | |
smsCode | String | 短信验证码 | |
msg | String | 短信发送状态码描述 | |
obj | Object | 扩展属性 |
短信验证码校验方法:checkSmsCode
类型 | 参数名 | 参数类型 | 说明 |
---|---|---|---|
入参 | phone | String | 接收短信的手机号 |
smsCode | String | 短信验证码 | |
smsType | String | 短信的类型 用于区分该短信是在什么业务场景下发送的,接口实现类中必须实现以下四种场景: login:登录场景,手机号登录时的短信验证码 regedit:注册场景,注册时的短信验证码 forgetpwd:忘记密码场景,忘记密码时的短信验证码 resetpwd:重置密码场景,重置密码时的短信验证码 除了以上四种场景外,短信服务接口实现类可以自行扩展其他业务场景 | |
返回 | RetVo | com.kdayun.z1.core.base.RetVo | |
state | 枚举类型: com.kdayun.z1.core.base.RetVo.retstate | 短信验证码校验结果: retstate.OK 表示短信验证码校验通过 retstate.ERROR 表示短信验证码校验不通过 | |
msg | String | 短信验证码校验结果描述 | |
obj | Object | 扩展属性 |
平台配置
获取密钥 accessKeyId/accessKeySecret
设置平台短信配置 accessKeyId/accessKeySecret
2023-12-20 15:58:45 星期三
设置平台短信类型模板配置
前端调用接口
通用短信接口(这个使用 [短信服务配置->common下的配置] )
请求方式: get
参数: phone 电话号码
参数: vcodekey 图像验证码唯一标志(发送短信验证时候需要输入的图像验证码) [当开启是否开启手机短信验证码选项时候必填非空,否则传递空串]
参数: vcode 短信图像验证码 [当开启是否开启手机短信验证码选项时候必填非空,否则传递空串]
参数: orgid 机构id [可选参数,为空时候取当前用户的机构id]
返回: 返回发送结果RetVo
Content-Type :application/json;charset=UTF-8
例子:
function Button1_onClickScript(cxt: ScriptContext, btn: Button) { if (Common.isEmpty(btn.getPage().components.InputEdit1.getValue())) { Common.errorMsg('请输入电话号码') return; } Common.get(Common.getContextPath() + '/core/sms/send/common/smscode', { phone: btn.getPage().components.InputEdit1.getValue(), vcodekey:'', vcode:'' }, function (res) { if (res.state == 'ERROR') { Common.errorMsg(res.msg) } else { Common.successMsg('发送成功') } }) }
具体短信的配置
数据字典 -> 短信服务配置resetpwd 重设密码短信验证
forgetpwd 忘记密码短信验证
login 登录短信验证
regedit 注册短信验证
bind 绑定微信短信验证
common 通用短信验证,(一般是自定义短信验证使用. 短信组件使用此配置)
配置的json如下:
{ "forgetpwd:{ //验证码在短信模板内的变量名 "varName": "code", //验证码的类型(smsCode 验证码类短信, notice 通知类短信 ) "type": "smsCode", //模板id (需要在短信平台获取短信模板) "templateIds": [ "SMS_152431105" ], //短信签名(需要在短信平台获取短信签名) "signNames": [ "快搭" ] }, ... }
如:
{ "resetpwd": { "varName": "code", "type": "smsCode", "templateIds": [ "SMS_152431105" ], "signNames": [ "快搭" ] }, "forgetpwd": { "varName": "code", "type": "smsCode", "templateIds": [ "SMS_152543822" ], "signNames": [ "快搭" ] }, "login": { "varName": "code", "type": "smsCode", "templateIds": [ "SMS_152431108" ], "signNames": [ "快搭" ] }, "regedit": { "varName": "code", "type": "smsCode", "templateIds": [ "SMS_152431106" ], "signNames": [ "快搭" ] }, "bind": { "varName": "code", "signNames": [ "快搭" ], "templateIds": [ "SMS_172595379" ], "type": "smsCode" }, "common": { "varName": "code", "signNames": [ "快搭" ], "templateIds": [ "SMS_172595370" ], "type": "smsCode" } }
上面的json内的key分别对应短信平台内设置的模板 templateIds. 不同的类型如下:
resetpwd 重设密码短信验证配置
forgetpwd 忘记密码短信验证配置
login 登录短信验证配置
regedit 注册短信验证配置
common 通用短信验证配置
阿里云的短信模板设置
阿里云的签名管理
注意:
- 签名修改和新增都需要审核;审核时长:一般2小时内完成,涉及政企签名一般2个工作日内完成,近期平均完成审核时长约1小时,如遇升级核验、审核任务较多时、非工作时间,审核时间可能会延长,请耐心等待。
审核工作时间: 周一至周日9:00-21:00(法定节假日顺延)
- 签名修改和新增都需要审核;审核时长:一般2小时内完成,涉及政企签名一般2个工作日内完成,近期平均完成审核时长约1小时,如遇升级核验、审核任务较多时、非工作时间,审核时间可能会延长,请耐心等待。
最后编辑:admin 更新时间:2024-10-17 08:28