reply.html 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>自动回复设置</title>
  7. <link rel="shortcut icon" href="favicon.ico">
  8. <link href="__CSS__/bootstrap.min.css?v=3.3.6" rel="stylesheet">
  9. <link href="__CSS__/font-awesome.min.css?v=4.4.0" rel="stylesheet">
  10. <link href="__CSS__/animate.min.css" rel="stylesheet">
  11. <link href="__JS__/layui/css/layui.css" rel="stylesheet">
  12. <link href="__CSS__/style.min.css?v=4.1.0" rel="stylesheet">
  13. </head>
  14. <body class="gray-bg">
  15. <div class="wrapper wrapper-content animated fadeInRight">
  16. <div class="row">
  17. <div class="col-sm-8">
  18. <div class="ibox float-e-margins">
  19. <div class="ibox-title">
  20. <h5>自动回复设置</h5>
  21. </div>
  22. <div class="ibox-content">
  23. <form class="form-horizontal m-t layui-form" id="commentForm" method="post" action="{:url('system/reply')}">
  24. <div class="form-group">
  25. <label class="col-sm-3 control-label">回复内容:</label>
  26. <div class="input-group col-sm-4">
  27. <textarea class="form-control" name="word" required="" aria-required="true" style="width: 400px;height: 150px;resize:none">{$info['word']}</textarea>
  28. </div>
  29. </div>
  30. <div class="form-group layui-form-item">
  31. <label class="col-sm-3 control-label">是否启用:</label>
  32. <div class="input-group col-sm-6">
  33. {if !empty($status)}
  34. {foreach name="status" item="vo" key="key"}
  35. <input type="radio" name="status" value="{$key}" title="{$vo}" {if $key eq $info['status']}checked{/if}>
  36. {/foreach}
  37. {/if}
  38. </div>
  39. </div>
  40. <div class="form-group">
  41. <div class="col-sm-4 col-sm-offset-6">
  42. <button class="btn btn-primary" type="submit">提交</button>
  43. </div>
  44. </div>
  45. </form>
  46. </div>
  47. </div>
  48. </div>
  49. </div>
  50. </div>
  51. <script src="__JS__/jquery.min.js?v=2.1.4"></script>
  52. <script src="__JS__/bootstrap.min.js?v=3.3.6"></script>
  53. <script src="__JS__/content.min.js?v=1.0.0"></script>
  54. <script src="__JS__/plugins/validate/jquery.validate.min.js"></script>
  55. <script src="__JS__/plugins/validate/messages_zh.min.js"></script>
  56. <script src="__JS__/plugins/layer/layer.min.js"></script>
  57. <script src="__JS__/layui/layui.js"></script>
  58. <script src="__JS__/jquery.form.js"></script>
  59. <script src="/static/customer/js/md5.js"></script>
  60. <script type="text/javascript">
  61. let config = {
  62. socket: '{$socket}',
  63. };
  64. let date = new Date(new Date().setHours(0, 0, 0, 0)) / 1000;
  65. let getLocation = window.location.href;
  66. let host = getLocation.split('/admin')[0];
  67. //let apiToken = hex_md5('customer-service'+date+host);
  68. let apiToken = hex_md5('customer-service'+host);
  69. layui.use(['form', 'upload'], function(){
  70. var form = layui.form;
  71. });
  72. var index = '';
  73. function showStart(){
  74. index = layer.load(0, {shade: false});
  75. return true;
  76. }
  77. function showSuccess(res){
  78. let socket = new WebSocket(config.socket+'?apiToken=' + apiToken);
  79. socket.onopen = function(res) {
  80. console.log('握手成功');
  81. socket.send(JSON.stringify({
  82. type: 'updatecache',
  83. data: {dtype: ''},
  84. }));
  85. };
  86. layer.ready(function(){
  87. layer.close(index);
  88. if(1 == res.code){
  89. layer.alert(res.msg, {title: '友情提示', icon: 1, closeBtn: 0}, function(){
  90. window.location.href = res.data;
  91. });
  92. }else if(111 == res.code){
  93. window.location.reload();
  94. }else{
  95. layer.msg(res.msg, {anim: 6});
  96. }
  97. });
  98. }
  99. $(document).ready(function(){
  100. // 添加管理员
  101. var options = {
  102. beforeSubmit:showStart,
  103. success:showSuccess
  104. };
  105. $('#commentForm').submit(function(){
  106. $(this).ajaxSubmit(options);
  107. return false;
  108. });
  109. });
  110. // 表单验证
  111. $.validator.setDefaults({
  112. highlight: function(e) {
  113. $(e).closest(".form-group").removeClass("has-success").addClass("has-error")
  114. },
  115. success: function(e) {
  116. e.closest(".form-group").removeClass("has-error").addClass("has-success")
  117. },
  118. errorElement: "span",
  119. errorPlacement: function(e, r) {
  120. e.appendTo(r.is(":radio") || r.is(":checkbox") ? r.parent().parent().parent() : r.parent())
  121. },
  122. errorClass: "help-block m-b-none",
  123. validClass: "help-block m-b-none"
  124. });
  125. </script>
  126. </body>
  127. </html>