index.html 11 KB

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