edit_rule_mobile.html 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>规则编辑-{{name}}</title>
  6. <meta name="renderer" content="webkit">
  7. <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  8. <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
  9. <link rel="icon" href="/static/img/logo.png" type="image/x-icon">
  10. <link rel="stylesheet" href="/static/plugin/layui/css/layui.css">
  11. <script src="/static/plugin/layui/layui.js"></script>
  12. <script src="/static/js/jquery.min.js"></script>
  13. <style>
  14. body {
  15. background-color: #ffffff;
  16. }
  17. .footer {
  18. padding-top: 5px;
  19. padding-left: 10px;
  20. text-align: left;
  21. position: fixed;
  22. bottom: 0px;
  23. background-color:#ddd;
  24. width:100%;
  25. }
  26. .footer > button{
  27. border-radius: 25px;
  28. }
  29. .center{
  30. margin-bottom: 60px;
  31. }
  32. #script_code{
  33. height: 600px;
  34. }
  35. </style>
  36. </head>
  37. <body>
  38. <div class="layui-form layuimini-form layuimini-container layui-form-pane container" lay-filter="scripts">
  39. <!--<div class="layui-form layui-form-pane" lay-filter="scripts">-->
  40. <div class="header">
  41. <div class="layui-form-item" pane="">
  42. <label class="layui-form-label required">脚本类型</label>
  43. <div class="layui-input-block">
  44. <input type="radio" name="script_code" id="script_code_js" lay-filter="ck-code" value="javascript" title="js" checked>
  45. </div>
  46. </div>
  47. </div>
  48. <div class="center">
  49. <div class="layui-form-item layui-form-text">
  50. <label class="layui-form-label required">脚本区域</label>
  51. <div class="layui-input-block">
  52. <textarea id="script_code" name='scripts_code' class="layui-textarea"></textarea>
  53. </div>
  54. </div>
  55. </div>
  56. <div class="layui-btn-container footer layer-footer">
  57. <button class="layui-btn layui-btn-normal " lay-submit lay-filter="reBtn"><i class="layui-icon layui-icon-refresh"></i>刷新</button>
  58. <button class="layui-btn layui-btn-normal" lay-submit lay-filter="saveBtn"><i class="layui-icon layui-icon-ok"></i>保存</button>
  59. <button class="layui-btn layui-btn-normal" lay-submit lay-filter="openRawBtn"><i class="layui-icon layui-icon-file-b"></i>原始</button>
  60. <button class="layui-btn layui-btn-normal" lay-submit lay-filter="openFileBtn"><i class="layui-icon layui-icon-file-b"></i>渲染后</button>
  61. </div>
  62. </div>
  63. <script>
  64. const raw_url = '/raw/js/{{name}}';
  65. const api_url = '/admin/view/{{name}}';
  66. const api_save_url = '/admin/save_edit/{{name}}';
  67. // 初始化 脚本编辑页面
  68. function init_scripts(form) {
  69. $.ajax({
  70. type:'get',
  71. url: raw_url,
  72. timeout : 2000,
  73. async:false,
  74. // data:'',
  75. // dataType:'json',
  76. success: function(data) {
  77. // console.log(data);
  78. console.log(`访问${raw_url} success`);
  79. $('#script_code').val(data);
  80. form.render();
  81. },error: function(XMLHttpRequest,textStatus,errorThrown) {
  82. if (XMLHttpRequest.status == 0) {
  83. layer.msg('Check Your Network.',{icon: 2},function () {});
  84. } else if (XMLHttpRequest.status == 404) {
  85. layer.msg('Requested URL not found.',{icon: 2},function () {});
  86. } else if (XMLHttpRequest.status == 500) {
  87. layer.msg('Internel Server Error.',{icon: 2},function () {});
  88. } else {
  89. console.log(`访问${raw_url} error`);
  90. let code = XMLHttpRequest.responseText;
  91. $('#script_code').val(code);
  92. form.render();
  93. }
  94. }
  95. });
  96. }
  97. </script>
  98. <script>
  99. //选择脚本类型JS
  100. var script_sh=$("#script_shell").val();
  101. var script_py=$("#script_python").val();
  102. var script_js=$("#script_js").val();
  103. layui.use(['form'], function () {
  104. var form = layui.form,
  105. layer = layui.layer,
  106. $ = layui.$;
  107. init_scripts(form);
  108. form.on('submit(openRawBtn)',function (data) {
  109. open(raw_url);
  110. });
  111. form.on('submit(openFileBtn)',function (data) {
  112. open(api_url);
  113. });
  114. form.on('submit(reBtn)', function (data) {
  115. init_scripts(form);
  116. });
  117. //监听提交
  118. form.on('submit(saveBtn)', function (data) {
  119. layer.confirm('确认保存?', {
  120. title: "操作提示",
  121. icon: 0,
  122. btn: ['确定']
  123. } ,function(index){
  124. let txt = $('#script_code').val();
  125. // console.log(txt);
  126. let postData = {
  127. name: '{{name}}',
  128. code: txt,
  129. // code:txt.replaceAll("+","&").replaceAll("console.log","console.Log")
  130. }
  131. // console.log(postData);
  132. $.ajax({
  133. type: 'post',
  134. url: api_save_url,
  135. data: postData,
  136. dataType: 'json',
  137. async: false,
  138. success: function (ret) {
  139. console.log(ret);
  140. layer.msg(ret.msg);
  141. }
  142. });
  143. layer.close(index);
  144. });
  145. return false;
  146. });
  147. form.on('radio(ck-code)', function(data){
  148. // var lang=$(this).prop("id");
  149. // console.log(txt,lang);
  150. console.log(data.value);
  151. });
  152. });
  153. </script>
  154. </body>
  155. </html>