ITSM

运维管理系统


短信验证码更新

<h3>1.更新permission release分支</h3> <h3>2.在beemq管理界面参数配置-增加配置</h3> <ol> <li>添加组件 systemConfig</li> <li>添加以下两个配置项 <pre><code># 是否启用短信验证码登录,true为启用 SMSVerificationCodeEnable=true # 短信验证码有效期 单位毫秒 validitySMSVerificationCode=60000</code></pre> <p><img src="https://www.showdoc.com.cn/server/api/attachment/visitfile/sign/48f397e30fea82506a25f2f8d7aaeda1" alt="" /></p></li> </ol> <h3>3.导入脚本</h3> <pre><code>INSERT INTO public.bee_idx_comm (id, name, pid, status, path, val, time) VALUES (2146241176, 'GetSystemConfigListScript', 490763255, '0', 'root/script/GetSystemConfigListScript', '{"param":"{}","name":"GetSystemConfigListScript","publicClass":"com.kingsware.fun.GetSystemConfigListScript","script":"package com.kingsware.fun;\r\n\r\nimport com.alibaba.fastjson.JSON;\r\nimport com.alibaba.fastjson.JSONArray;\r\nimport com.alibaba.fastjson.JSONObject;\r\nimport com.kingsware.env.pojo.CollectResult;\r\nimport com.kingsware.env.script.KBaseMain;\r\nimport com.kingsware.socket.client.KEnvClient;\r\n\r\nimport java.util.ArrayList;\r\nimport java.util.List;\r\n\r\n/**\r\n * @program: us\r\n * @Date: 2021/11/25 17:17\r\n * @Author: leimingming\r\n * @Description: 获取通用的配置参数列表\r\n */\r\npublic class GetSystemConfigListScript extends KBaseMain&lt;Object&gt; {\r\n\r\n @Override\r\n public CollectResult mainEx(Object o, KEnvClient kEnvClient) throws Exception {\r\n CollectResult collectResult = new CollectResult();\r\n\r\n String search = kEnvClient.search(\"root/config/assembly/systemConfig/prop/*\");\r\n println(search);\r\n\r\n List&lt;JSONObject&gt; result = new ArrayList&lt;&gt;();\r\n\r\n JSONArray array = JSON.parseArray(search);\r\n for (int i = 0; i &lt; array.size(); i++) {\r\n JSONObject object = array.getJSONObject(i);\r\n String nId = object.getString(\"nId\");\r\n String val = object.getString(\"val\");\r\n String path = object.getString(\"path\");\r\n\r\n String descResult = kEnvClient.getVal(path + \"/desc\");\r\n JSONObject descObject = JSON.parseObject(descResult);\r\n String desc = descObject == null ? \"unknown\" : descObject.getString(\"value\");\r\n\r\n println(nId+\"--\"+val+\"--\"+desc);\r\n\r\n JSONObject config = new JSONObject();\r\n config.put(\"key\",nId);\r\n config.put(\"value\",val);\r\n config.put(\"desc\",desc);\r\n\r\n result.add(config);\r\n }\r\n\r\n collectResult.setResult(result);\r\n return collectResult;\r\n }\r\n}\r\n"}', '2021-11-25 17:41:47.535000');</code></pre> <h3>4.插入网关</h3> <pre><code>INSERT INTO "BasicGatewayRoute"(uuid,name,sourcepath,targetpath,logtype,logcontent,"createTime","state","updateTime",verify,"moduleId","type") VALUES('3a550f57-5315-4d32-9871-2f06f835e3ed','发送短信验证码','/ops/system/user/sendSMSVerificationCode','/permission/user/sendSMSVerificationCode','操作','发送短信验证码','2021-11-23 10:01:01',0,'2021-11-23 10:01:01',false,'uuidpermission','normal'); INSERT INTO public."BasicGatewayRoute" (uuid, name, sourcepath, module, targeturl, targetpath, logtype, logcontent, param, responsebody, remark, "createTime", state, "updateTime", verify, type, "moduleId") VALUES ('ebe3e3de-f688-61a5-8b1e-f32706c45625', '获取系统全局配置', '/ops/getSystemConfigList', null, null, 'GetSystemConfigListScript', '查询', '', '', '', '', '2021-11-25 17:53:12', 0, '2021-11-25 17:53:12', false,'script','c321b0458d914c5c818896d41d1ad3e1'); </code></pre> <p>浏览器访问更新路由</p> <pre><code>http://{ip}:{port}/ops/route/init</code></pre> <h3>5.需在二开平台实现 名称为:SMSVerificationCode 的脚本,在脚本中实现给客户发送短信验证码的功能</h3> <p>参数为</p> <pre><code>{ "name":"系统管理员", "username":"admin", "phone":"13112345678" } </code></pre> <p>返回值为发送的验证码</p> <p>以下为示例</p> <pre><code>package com.kingsware.fun; import com.kingsware.env.pojo.CollectResult; import com.kingsware.env.script.KBaseMain; import com.kingsware.socket.client.KEnvClient; import org.apache.commons.lang3.RandomStringUtils; /** * @program: us * @Date: 2021/11/22 16:21 * @Author: leimingming * @Description: 短信验证码发送实现类 */ class UserParam{ private String name; private String username; private String phone; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPhone() { return phone; } public void setPhone(String phone) { this.phone = phone; } } public class SMSVerificationCode extends KBaseMain&lt;UserParam&gt; { @Override public CollectResult mainEx(UserParam userParam, KEnvClient kEnvClient) throws Exception { //获取验证码 String s = RandomStringUtils.randomNumeric(6); //发送短信 //根据发送结果,将验证码返回至permission CollectResult collectResult = new CollectResult(); collectResult.setResult(s); return collectResult; } } </code></pre>

页面列表

ITEM_HTML