反饋已提交
網絡繁忙
用户需要使用第三方短信平台发送短信。
平台中添加调用第三方短信平台的接口,可以根据用户的需求实现短信服务和监听服务。
注:正式服务器上使用该接口,需要购买「短信平台」功能点,并在数据决策系统中开启 短信 平台,才可以使用。
主要接口为 SMSServiceProvider 。
具体接口内容请参考:SMSServiceProvider接口
1)SMSServiceProvider
public interface SMSServiceProvider extends Selectable { int CURRENT_LEVEL = 1; String XML_TAG = "SMSServiceProvider"; /** * 根据内置的短信模板编号,转换成实际的第三方短信平台的短信模板 * * @return 编号和实际模板的键值对集合 */ Map<String, String> mapping(); /** * 发送测试短信 * * @param mobile 接收短信的手机号 * @return 结果 */ Response sendTest(String mobile); /** * FR包含的短信发送功能 * * @param template 发送短信的模板(里面有参数,需要根据后面的para里的参数值进行替换) * @param mobile 接收短信的手机号 * @param para 生成最终短信需要的参数 * @param receiver 接收者(用户) * @return 结果 * @throws Exception 异常 */ Response send(String template, String mobile, JSONObject para, String receiver) throws Exception; /** * FR包含的批量发送短信的功能 * * @param template 发送短信的模板(里面有参数,需要根据后面的para里的参数值进行替换) * @param mobiles 接收短信的手机号列表 * @param params 对应的生成最终短信需要的参数JSON数组 * @param receivers 接收者(用户)列表,三个列表/数组,根据序号一一对应 * @return 结果 * @throws Exception 异常 */ Response batchSendSMS(String template, List<String> mobiles, JSONArray params, List<String> receivers) throws Exception; /** * 第三方sms服务响应 */ class Response { public final static String RES_STATUS_SUCCESS = "success"; public final static String RES_STATUS_FAILED = "failed"; private String status; private String msg; private JSONObject content; public static Response create(String status, String msg, JSONObject content) { if (StringUtils.isEmpty(status) || StringUtils.isEmpty(msg)) { return null; } if (content == null) { content = JSONObject.create(); } return new Response(status, msg, content); } private Response(String status, String msg, JSONObject content) { this.status = status; this.msg = msg; this.content = content; } public String getStatus() { return status; } public void setStatus(String status) { this.status = status; } public String getMsg() { return msg; } public void setMsg(String msg) { this.msg = msg; } public JSONObject getContent() { if (!content.has("status")) { content.put("status", status); } if (!content.has("msg")) { content.put("msg", msg); } return content; } public void setContent(JSONObject content) { this.content = content; } }
2)Listener
interface Listener { /** * 短信发送前事件处理接口 * * @param text 发送短信的模板(里面有参数,需要根据后面的para里的参数值进行替换) * @param mobiles 接收短信的手机号列表 * @param params 生成最终短信需要的参数JSON数组 * @param receivers 接收者(用户)列表 */ void beforeSend(String text, List<String> mobiles, JSONArray params, List<String> receivers); /** * 短信发送后事件处理接口 * * @param text 发送短信的模板(里面有参数,需要根据后面的para里的参数值进行替换) * @param mobiles 接收短信的手机号列表 * @param params 生成最终短信需要的参数JSON数组 * @param receivers 接收者(用户)列表 * @param response 响应(仅在使用了第三方服务接口后且仅在发送结束后事件有效!) */ void afterSend(String text, List<String> mobiles, JSONArray params, List<String> receivers, Response response); }}
<extra-core> <SMSServiceProvider class="com.fr.plugin.third.sms.SRGT"/></extra-core>
接口示例可参考:示例源码 。
提供第三方短信插件,实现第三方平台发送短信。
注1:仅为提供测试使用,不会真的发送短信,日志里可查看监听事件,具体客户使用时需自己编写代码。
注2:该插件只提供了日志模拟短信的发送,安装后平台内置的短信功能将失效。
安装上述 Demo 使用插件的安装方法:
点击下载插件:fr-plugin-third-sms-1.0.zip
设计器插件安装方法参照 设计器插件管理
服务器安装插件方法参照 服务器插件管理
安装插件后,短信平台中的相关功能,手机绑定验证码、登录验证码、定时调度、多级上报、模板短信相关短信发送测试单人或多人均会触发监听事件,可以看到日志中如下图所示:
注:发送测试短信不会触发监听事件。
文 檔回 饋
滑鼠選中內容,快速回饋問題
滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。
不再提示
10s後關閉