conf.html 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>阿里云OSS配置</title>
  6. </head>
  7. <body class="laytp-container">
  8. <div class="layui-card">
  9. <div class="layui-card-body">
  10. <form class="layui-form" lay-filter="layui-form">
  11. <div class="table-container">
  12. </div>
  13. <div class="bottom">
  14. <div class="button-container">
  15. <button type="submit" class="laytp-btn laytp-btn-primary laytp-btn-sm" lay-submit="" lay-filter="add">
  16. <i class="layui-icon layui-icon-ok"></i>
  17. 保存配置
  18. </button>
  19. <button type="reset" class="laytp-btn laytp-btn-sm">
  20. <i class="layui-icon layui-icon-refresh"></i>
  21. 重置
  22. </button>
  23. </div>
  24. </div>
  25. </form>
  26. </div>
  27. </div>
  28. <script id="confTableHtml" type="text/html">
  29. <input type="hidden" name="group" id="group" value="{{=d.group}}"/>
  30. <table class="layui-table" style="margin: 0;" lay-skin="nob">
  31. <colgroup>
  32. <col width="15%">
  33. <col width="70%">
  34. <col width="15%">
  35. </colgroup>
  36. <tbody>
  37. <tr>
  38. <td style="text-align:right;">
  39. accessKeyID
  40. </td>
  41. <td>
  42. <input autocomplete="off" type="text" name="accessKeyID" id="accessKeyID" value="{{=d.accessKeyID}}" placeholder="请输入accessKeyID" class="layui-input" lay-verify="required">
  43. <input type="hidden" name="form_type[accessKeyID]" value="input" />
  44. </td>
  45. <td>
  46. <div class="conf-des layui-form-mid layui-word-aux">
  47. <label title="阿里云拥有OSS相关权限账号的accessKeyID,可以使用授权了的RAM子账号,也可以使用总账号">阿里云拥有OSS相关权限账号的accessKeyID,可以使用授权了的RAM子账号,也可以使用总账号</label>
  48. <br/>
  49. <code title="{{=d.group}}.accessKeyID">{{=d.group}}.accessKeyID</code>
  50. </div>
  51. </td>
  52. </tr>
  53. <tr>
  54. <td style="text-align:right;">
  55. accessKeySecret
  56. </td>
  57. <td>
  58. <input autocomplete="off" type="text" name="accessKeySecret" id="accessKeySecret" value="{{=d.accessKeySecret}}" placeholder="请输入accessKeySecret" class="layui-input" lay-verify="required">
  59. <input type="hidden" name="form_type[accessKeySecret]" value="input" />
  60. </td>
  61. <td>
  62. <div class="conf-des layui-form-mid layui-word-aux">
  63. <label title="阿里云OSS上传配置的accessKeySecret">阿里云OSS上传配置的accessKeySecret</label>
  64. <br/>
  65. <code title="{{=d.group}}.accessKeySecret">{{=d.group}}.accessKeySecret</code>
  66. </div>
  67. </td>
  68. </tr>
  69. <tr>
  70. <td style="text-align:right;">
  71. 短信签名
  72. </td>
  73. <td>
  74. <input autocomplete="off" type="text" name="sign" id="sign" value="{{=d.sign}}" placeholder="请输入短信签名" class="layui-input" lay-verify="required">
  75. <input type="hidden" name="form_type[sign]" value="input" />
  76. </td>
  77. <td>
  78. <div class="conf-des layui-form-mid layui-word-aux">
  79. <label title="阿里云手机短信中设置的签名">阿里云手机短信中设置的签名</label>
  80. <br/>
  81. <code title="{{=d.group}}.sign">{{=d.group}}.sign</code>
  82. </div>
  83. </td>
  84. </tr>
  85. <tr>
  86. <td style="text-align:right;">
  87. 短信事件与短信模板对应关系
  88. </td>
  89. <td>
  90. <input type="hidden" name="form_type[template]" value="array" />
  91. <table class="layui-table" style="margin: 0;" lay-skin="line">
  92. <colgroup>
  93. <col width="25%">
  94. <col width="70%">
  95. <col>
  96. </colgroup>
  97. <thead>
  98. <tr>
  99. <th>Key</th>
  100. <th>Value</th>
  101. <th></th>
  102. </tr>
  103. </thead>
  104. <tbody class="tableDnd">
  105. {{# if(d.template){ }}
  106. {{# var key; for(key in d.template){ }}
  107. <tr>
  108. <td style="padding: 4px 15px;"><input class="layui-input" type="text" name="template[key][]" value="{{=key}}" /></td>
  109. <td style="padding: 4px 15px;"><input class="layui-input" type="text" name="template[value][]" value="{{=d.template[key]}}" /></td>
  110. <td style="padding: 4px 15px;">
  111. <a href="javascript:void(0);" class="layui-btn layui-btn-primary layui-btn-sm layui-icon layui-icon-delete delArrayItem" layer-tips="删除" title="删除"></a>
  112. </td>
  113. </tr>
  114. {{# } }}
  115. {{# }else{ }}
  116. <tr>
  117. <td style="padding: 4px 15px;"><input class="layui-input" type="text" name="template[key][]" value="register" /></td>
  118. <td style="padding: 4px 15px;"><input class="layui-input" type="text" name="template[value][]" value="阿里云的模板ID" /></td>
  119. <td style="padding: 4px 15px;">
  120. <a href="javascript:void(0);" class="layui-btn layui-btn-primary layui-btn-sm layui-icon layui-icon-delete delArrayItem" layer-tips="删除" title="删除"></a>
  121. </td>
  122. </tr>
  123. {{# } }}
  124. <tr class='nodrop nodrag'>
  125. <td colspan="3" style="padding: 4px 15px;">
  126. <a href="javascript:void(0);" class="layui-btn layui-btn-primary layui-btn-sm layui-icon layui-icon-add-1 addArrayItem" title="追加">追加</a>
  127. </td>
  128. </tr>
  129. </tbody>
  130. </table>
  131. </td>
  132. <td>
  133. <div class="conf-des layui-form-mid layui-word-aux">
  134. 短信事件与短信模板对应关系
  135. <br/>
  136. <code title="{{=d.group}}.template">{{=d.group}}.template</code>
  137. </div>
  138. </td>
  139. </tr>
  140. <tr>
  141. <td style="text-align:right;">
  142. 有效时间
  143. </td>
  144. <td>
  145. <input autocomplete="off" type="number" name="expireTime" id="expireTime" value="{{=d.expireTime}}" placeholder="请输入有效时间" class="layui-input" lay-verify="required">
  146. <input type="hidden" name="form_type[expireTime]" value="input" />
  147. </td>
  148. <td>
  149. <div class="conf-des layui-form-mid layui-word-aux">
  150. <label title="有效时间,单位秒,设置短信发送后多久内有效">有效时间,单位秒,设置短信发送后多久内有效</label>
  151. <br/>
  152. <code title="{{=d.group}}.expireTime">{{=d.group}}.expireTime</code>
  153. </div>
  154. </td>
  155. </tr>
  156. <tr>
  157. <td style="text-align:right;">
  158. 间隔时间
  159. </td>
  160. <td>
  161. <input autocomplete="off" type="number" name="intervalTime" id="intervalTime" value="{{=d.intervalTime}}" placeholder="请输入间隔时间" class="layui-input" lay-verify="required">
  162. <input type="hidden" name="form_type[intervalTime]" value="input" />
  163. </td>
  164. <td>
  165. <div class="conf-des layui-form-mid layui-word-aux">
  166. <label title="单位秒,对同一手机号,两条短信发送的最小间隔时间">单位秒,对同一手机号,两条短信发送的最小间隔时间</label>
  167. <br/>
  168. <code title="{{=d.group}}.intervalTime">{{=d.group}}.intervalTime</code>
  169. </div>
  170. </td>
  171. </tr>
  172. </tbody>
  173. </table>
  174. </script>
  175. <script type="application/javascript">
  176. if(localStorage.getItem("staticDomain")){
  177. document.write("<link rel='stylesheet' href='" + localStorage.getItem("staticDomain") + "/component/layui/css/layui.css?v=" + localStorage.getItem("version") + "'>");
  178. document.write("<script src='" + localStorage.getItem("staticDomain") + "/component/layui/layui.js?v="+localStorage.getItem("version")+"'><\/script>");
  179. document.write("<script src='" + localStorage.getItem("staticDomain") + "/component/laytp/layuiConfig.js?v="+localStorage.getItem("version")+"'><\/script>");
  180. document.write("<script src='" + localStorage.getItem("staticDomain") + "/component/jquery_3.3.1.js?v="+localStorage.getItem("version")+"'><\/script>");
  181. document.write("<script src='" + localStorage.getItem("staticDomain") + "/component/jquery.tablednd.js?v="+localStorage.getItem("version")+"'><\/script>");
  182. }else{
  183. document.write("<link rel='stylesheet' href='/static/component/layui/css/layui.css?v=" + localStorage.getItem("version") + "'>");
  184. document.write("<script src='/static/component/layui/layui.js?v="+localStorage.getItem("version")+"'><\/script>");
  185. document.write("<script src='/static/component/laytp/layuiConfig.js?v="+localStorage.getItem("version")+"'><\/script>");
  186. document.write("<script src='/static/component/jquery_3.3.1.js?v="+localStorage.getItem("version")+"'><\/script>");
  187. document.write("<script src='/static/component/jquery.tablednd.js?v="+localStorage.getItem("version")+"'><\/script>");
  188. }
  189. </script>
  190. <script>
  191. layui.use(['laytp'],function(){
  192. var group = "plugin.ali_sms";
  193. // 先获取数据,渲染表单
  194. // 渲染完表单之后,设置滚动条
  195. facade.ajax({
  196. route: "/admin.conf/getGroupConf",
  197. data: {"group" : group},
  198. successAlert: false,
  199. showLoading: true
  200. }).done(function(res){
  201. if(res.code === 0){
  202. res.data.group = group;
  203. layui.laytpl($("#confTableHtml").html()).render(res.data,function(string){
  204. $(".table-container").html(string);
  205. layui.laytpForm.render();
  206. layui.form.render();
  207. var windowHeight = $(window).height();
  208. var maxHeight = parseInt(windowHeight) - 86;
  209. var minHeight = parseInt(windowHeight) - 86;
  210. // 设置table-container的最大高度和超过高度后展示滚动条
  211. $(".table-container").css("margin-bottom", '40px');
  212. $(".table-container").css("max-height", maxHeight + 'px');
  213. $(".table-container").css("min-height", minHeight + 'px');
  214. $(".table-container").css("overflow-y", "auto");
  215. $('.bottom').css("background-color", "#f6f6f6");
  216. });
  217. }
  218. });
  219. layui.form.on('submit(add)', function(data){
  220. data = facade.setEditorField(data);
  221. data.field.group = group;
  222. facade.ajax({
  223. route:'/admin.conf/saveGroupConf',
  224. data : data.field
  225. }).done(function(res){
  226. if(res.code === 0){
  227. }
  228. });
  229. return false;
  230. });
  231. })
  232. </script>
  233. </body>
  234. </html>