index.html 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278
  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>访客IP设置列表</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__/plugins/bootstrap-table/bootstrap-table.min.css" rel="stylesheet">
  11. <link href="__CSS__/animate.min.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. <!-- Panel Other -->
  17. <div class="ibox float-e-margins">
  18. <input style="display:none;" type="text" value="2" id="type">
  19. <div style="display: flex;">
  20. <div class="ibox-title" style="width: 100px; cursor:pointer;" id="current1" onclick="current(2)">
  21. <h5>客服白名单</h5>
  22. </div>
  23. <div class="ibox-title" id="current2" style="width: 100px; cursor:pointer; background: #eee"
  24. onclick="current(1)">
  25. <h5>用户黑名单</h5>
  26. </div>
  27. <div class="ibox-title" style="width: calc(100% - 200px); background: #eee;">
  28. </div>
  29. </div>
  30. <div class="ibox-content">
  31. <a id="add" href="/admin/iplimit/add.html?type=2">
  32. <button class="btn btn-primary btn-sm" type="button" style="margin-top:5px">新增
  33. </button>
  34. </a>
  35. <form action="/admin/sensitivec/disjunctor" enctype="multipart/form-data" method="post" role="form"
  36. class="form-inline pull-right">
  37. <div class="content clearfix m-b">
  38. <div class="form-group" style="margin-left: 20px">
  39. <a href="javascript:disjunctor()" class="btn" style="margin-top:5px;">
  40. <input type="hidden" id="account_black_list" value="{$settings['account_black_list']}">
  41. <input type="hidden" id="kf_white_list" value="{$settings['kf_white_list']}">
  42. <input type="button" id="disjunctor"
  43. class="btn {if($settings['kf_white_list']=='on')}btn-primary{else}btn-danger{/if} btn-sm"
  44. value="{$settings['white_list']}" style="height: 30px;margin-top: -7px;">
  45. </a>
  46. </div>
  47. </div>
  48. </form>
  49. <!--搜索框开始-->
  50. <form id='commentForm' role="form" method="post" class="form-inline pull-right">
  51. <div class="content clearfix m-b">
  52. <div class="form-group">
  53. <label>IP地址:</label>
  54. <input type="text" class="form-control" id="content" name="content" value=""
  55. placeholder="请输入IP地址" style="height: 30px;">
  56. <input style="display: none">
  57. </div>
  58. <div class="form-group">
  59. <button class="btn btn-primary btn-sm" type="button" style="margin-top:5px" id="search">搜索
  60. </button>
  61. </div>
  62. </div>
  63. </form>
  64. <!--搜索框结束-->
  65. <div class="example-wrap">
  66. <div class="example">
  67. <table id="cusTable">
  68. <thead>
  69. <th data-field="id">ID</th>
  70. <th data-field="ip">IP/IP范围</th>
  71. <th data-field="utime">修改时间</th>
  72. <th data-field="admin">管理员</th>
  73. <th data-field="operate">操作</th>
  74. </thead>
  75. </table>
  76. </div>
  77. </div>
  78. <!-- End Example Pagination -->
  79. </div>
  80. </div>
  81. </div>
  82. <!-- End Panel Other -->
  83. <script src="__JS__/jquery.min.js?v=2.1.4"></script>
  84. <script src="__JS__/bootstrap.min.js?v=3.3.6"></script>
  85. <script src="__JS__/content.min.js?v=1.0.0"></script>
  86. <script src="__JS__/plugins/bootstrap-table/bootstrap-table.min.js"></script>
  87. <script src="__JS__/plugins/bootstrap-table/bootstrap-table-mobile.min.js"></script>
  88. <script src="__JS__/plugins/bootstrap-table/locale/bootstrap-table-zh-CN.min.js"></script>
  89. <script src="__JS__/plugins/layer/layer.min.js"></script>
  90. <script type="text/javascript">
  91. function current(id) {
  92. $("#type").val(id);
  93. if (id == 1) {
  94. $("#current1").css("background", "#eee");
  95. $("#current2").css("background", "#fff");
  96. $("#add").attr('href', '/admin/iplimit/add.html?type=1');
  97. if ($('#account_black_list').val() == 'on') {
  98. $('#disjunctor').val('关闭用户黑名单');
  99. $("#disjunctor").addClass("btn-primary");
  100. $("#disjunctor").removeClass("btn-danger");
  101. } else {
  102. $('#disjunctor').val('开启用户黑名单');
  103. $("#disjunctor").addClass("btn-danger");
  104. $("#disjunctor").removeClass("btn-primary");
  105. }
  106. } else if (id == 2) {
  107. $("#current2").css({"background": "#eee"});
  108. $("#current1").css({"background": "#fff"});
  109. $("#add").attr('href', '/admin/iplimit/add.html?type=2');
  110. if ($('#kf_white_list').val() == 'on') {
  111. $('#disjunctor').val('关闭客服白名单');
  112. $("#disjunctor").addClass("btn-primary");
  113. $("#disjunctor").removeClass("btn-danger");
  114. } else {
  115. $('#disjunctor').val('开启客服白名单');
  116. $("#disjunctor").addClass("btn-danger");
  117. $("#disjunctor").removeClass("btn-primary");
  118. }
  119. }
  120. initTable()
  121. }
  122. function initTable() {
  123. //先销毁表格
  124. $('#cusTable').bootstrapTable('destroy');
  125. let type = $('#type').val();
  126. //初始化表格,动态从服务器加载数据
  127. $("#cusTable").bootstrapTable({
  128. method: "get", //使用get请求到服务器获取数据
  129. url: "{:url('iplimit/index')}", //获取数据的地址
  130. striped: true, //表格显示条纹
  131. pagination: true, //启动分页
  132. pageSize: 50, //每页显示的记录数
  133. pageNumber: 1, //当前第几页
  134. pageList: [20, 50], //记录数可选列表
  135. sidePagination: "server", //表示服务端请求
  136. paginationFirstText: "首页",
  137. paginationPreText: "上一页",
  138. paginationNextText: "下一页",
  139. paginationLastText: "尾页",
  140. queryParamsType: "undefined",
  141. queryParams: function queryParams(params) { //设置查询参数
  142. var param = {
  143. pageNumber: params.pageNumber,
  144. type: type,
  145. pageSize: params.pageSize,
  146. searchText: $('#content').val()
  147. };
  148. return param;
  149. },
  150. onLoadSuccess: function (res) { //加载成功时执行
  151. if (111 == res.code) {
  152. window.location.reload();
  153. }
  154. layer.msg("加载成功", {time: 1000});
  155. },
  156. onLoadError: function () { //加载失败时执行
  157. layer.msg("加载数据失败");
  158. }
  159. });
  160. }
  161. function showSuccess(res) {
  162. layer.ready(function () {
  163. layer.close(index);
  164. if (1 == res.code) {
  165. layer.alert(res.msg, {title: '友情提示', icon: 1, closeBtn: 0}, function () {
  166. window.location.href = '/admin/iplimit/index';
  167. });
  168. } else if (111 == res.code) {
  169. window.location.reload();
  170. } else {
  171. layer.msg(res.msg, {anim: 6});
  172. }
  173. });
  174. }
  175. $(document).ready(function () {
  176. //调用函数,初始化表格
  177. initTable();
  178. //当点击查询按钮的时候执行
  179. $("#search").bind("click", initTable);
  180. });
  181. function Del(id) {
  182. layer.confirm('确认删除此ip?', {icon: 3, title: '提示'}, function (index) {
  183. //do something
  184. $.getJSON("{:url('iplimit/del')}", {'id': id}, function (res) {
  185. if (1 == res.code) {
  186. layer.alert(res.msg, {title: '友情提示', icon: 1, closeBtn: 0}, function () {
  187. initTable();
  188. });
  189. } else if (111 == res.code) {
  190. window.location.reload();
  191. } else {
  192. layer.alert(res.msg, {title: '友情提示', icon: 2});
  193. }
  194. });
  195. layer.close(index);
  196. })
  197. }
  198. function disjunctor() {
  199. if ($('#disjunctor').val() == '开启客服白名单') {
  200. var disjunctor = 'on';
  201. var type = 'kf';
  202. }
  203. if ($('#disjunctor').val() == '关闭客服白名单') {
  204. var disjunctor = 'off';
  205. var type = 'kf';
  206. }
  207. if ($('#disjunctor').val() == '开启用户黑名单') {
  208. var disjunctor = 'on';
  209. var type = 'account';
  210. }
  211. if ($('#disjunctor').val() == '关闭用户黑名单') {
  212. var disjunctor = 'off';
  213. var type = 'account';
  214. }
  215. layer.confirm('确认' + $('#disjunctor').val() + '?', {icon: 3, title: '提示'}, function (index) {
  216. //do something
  217. $.getJSON("{:url('iplimit/disjunctor')}", {'disjunctor': disjunctor, 'type': type}, function (res) {
  218. //console.log(disjunctor);
  219. console.log(res);
  220. if (1 == res.code) {
  221. layer.alert(res.msg, {title: '友情提示', icon: 1, closeBtn: 0}, function () {
  222. initTable();
  223. if (res.msg == '开启客服白名单成功') {
  224. $('#disjunctor').val('关闭客服白名单');
  225. $('#kf_white_list').val('on');
  226. $("#disjunctor").addClass("btn-primary");
  227. $("#disjunctor").removeClass("btn-danger");
  228. }
  229. if (res.msg == '关闭客服白名单成功') {
  230. $('#disjunctor').val('开启客服白名单');
  231. $('#kf_white_list').val('off');
  232. $("#disjunctor").addClass("btn-danger");
  233. $("#disjunctor").removeClass("btn-primary");
  234. }
  235. if (res.msg == '开启用户黑名单成功') {
  236. $('#disjunctor').val('关闭用户黑名单');
  237. $('#account_black_list').val('on');
  238. $("#disjunctor").addClass("btn-primary");
  239. $("#disjunctor").removeClass("btn-danger");
  240. }
  241. if (res.msg == '关闭用户黑名单成功') {
  242. $('#disjunctor').val('开启用户黑名单');
  243. $('#account_black_list').val('off');
  244. $("#disjunctor").addClass("btn-danger");
  245. $("#disjunctor").removeClass("btn-primary");
  246. }
  247. });
  248. } else if (111 == res.code) {
  249. window.location.reload();
  250. } else {
  251. layer.alert(res.msg, {title: '友情提示', icon: 2});
  252. }
  253. });
  254. layer.close(index);
  255. })
  256. }
  257. </script>
  258. </body>
  259. </html>