sms.ejs 4.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. <% include ./sub_menu.ejs %>
  2. <div class="panel-content" id="app">
  3. <div class="panel-title">
  4. <div class="title-main">
  5. <h2>短信通知</h2>
  6. </div>
  7. </div>
  8. <div class="content-wrap">
  9. <div class="c-body">
  10. <div class="row m-0">
  11. <div class="col-5 my-3">
  12. <% if (accountData.auth_mobile !== '') { %>
  13. <!--已绑定手机-->
  14. <div class="form-group">
  15. <label>已认证手机(用于 找回密码、接收通知)</label>
  16. <div class="input-group mb-3">
  17. <input class="form-control" readonly="" value="<%= accountData.auth_mobile %>">
  18. <div class="input-group-append">
  19. <button class="btn btn-outline-secondary" id="change-mobile">修改手机</button>
  20. </div>
  21. </div>
  22. </div>
  23. <% } %>
  24. <!--绑定手机-->
  25. <form id="mobile-form" <% if (accountData.auth_mobile !== '') { %>style="display: none" <% } %>>
  26. <div class="form-group">
  27. <label>认证手机(用于 找回密码、接收通知)</label>
  28. <div class="input-group mb-3">
  29. <input class="form-control" placeholder="输入11位手机号码" value="" name="auth_mobile" maxlength="11"/>
  30. <div class="input-group-append">
  31. <button class="btn btn-outline-secondary" type="button" id="get-code">获取验证码</button>
  32. </div>
  33. </div>
  34. </div>
  35. <div class="form-group">
  36. <div class="input-group mb-3">
  37. <input class="form-control" type="text" readonly="readonly" name="code" placeholder="输入短信中的6位验证码" />
  38. <input type="hidden" name="_csrf" value="<%= ctx.csrf %>">
  39. </div>
  40. </div>
  41. <button type="button" class="btn btn-secondary disabled" id="bind-btn">确认绑定</button>
  42. </form>
  43. <% if (accountData.auth_mobile !== '') { %>
  44. <!--短信通知开关(已有认证手机后显示)-->
  45. <div class="mt-5">
  46. <h4>通知类型</h4>
  47. <p class="text-muted">勾选您需要接收的短信类型。</p>
  48. <form id="sms-form" method="post" action="/profile/sms/type">
  49. <input type="hidden" name="_csrf" value="<%= ctx.csrf %>">
  50. <% const user_smsType = accountData.sms_type !== '' ? JSON.parse(accountData.sms_type) : null; %>
  51. <% for (const s in smsType) { %>
  52. <div class="form-group row">
  53. <label class="col-auto col-form-label"><%= smsType[s].name %><a href="#sms-view" data-toggle="modal" data-target="#sms-view" class="ml-2"><i class="fa fa-info-circle"></i></a></label>
  54. <div class="col-5">
  55. <% for (const c of smsType[s].children) { %>
  56. <div class="form-check ">
  57. <input class="form-check-input" type="checkbox" name="<%= s %>[]" value="<%= c.value %>" <% if (user_smsType !== null && user_smsType[s] !== undefined && user_smsType[s].indexOf(c.value.toString()) !== -1) { %>checked<% } %>>
  58. <label class="form-check-label" for="<%= s %>"><%= c.title %></label>
  59. </div>
  60. <% } %>
  61. </div>
  62. </div>
  63. <% } %>
  64. <button type="submit" class="btn btn-primary">确认修改</button>
  65. </form>
  66. </div>
  67. <% } %>
  68. </div>
  69. </div>
  70. </div>
  71. </div>
  72. </div>
  73. <script type="text/javascript">
  74. const csrf = '<%= ctx.csrf %>';
  75. </script>
  76. <script type="text/javascript" src="/public/js/profile.js"></script>