index.html 7.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8"/>
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  6. <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
  7. <link rel="icon" href="./assets/images/icoX.png"/>
  8. <title>人人接代理后台管理系统 - Power by Lettered </title>
  9. <link rel="stylesheet" href="./assets/libs/layui/css/layui.css"/>
  10. <link rel="stylesheet" href="./assets/module/admin.css"/>
  11. <link rel="stylesheet" href="./assets/css/app.css"/>
  12. <!--[if lt IE 9]>
  13. <script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
  14. <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
  15. <![endif]-->
  16. </head>
  17. <body class="layui-layout-body">
  18. <div class="layui-layout layui-layout-admin">
  19. <!-- 头部 -->
  20. <div class="layui-header">
  21. <div class="layui-logo">
  22. <!--<img class="app-logo" src="./assets/images/logo_white.png"/>-->
  23. <img class="app-logo" src="http://img.gxrrj.cn//058376003b34793d9286f61f2df5d691.png"/>
  24. </div>
  25. <ul class="layui-nav layui-layout-left">
  26. <li class="layui-nav-item" lay-unselect>
  27. <a ew-event="flexible" lay-bg="#ec6c44" lay-tips="侧边伸缩"><i class="layui-icon layui-icon-shrink-right"></i></a>
  28. </li>
  29. <li class="layui-nav-item" lay-unselect>
  30. <a ew-event="refresh" lay-bg="#ec6c44" lay-tips="刷新"><i class="layui-icon layui-icon-refresh-3"></i></a>
  31. </li>
  32. </ul>
  33. <ul class="layui-nav layui-layout-right">
  34. <li class="layui-nav-item" lay-unselect>
  35. <a app-event="request" event-data="{'url':'/clear'}" confirm lay-bg="#ec6c44" lay-tips="清理缓存">
  36. <i class="layui-icon layui-icon-release"></i></a>
  37. </li>
  38. <li class="layui-nav-item layui-hide-xs" lay-unselect>
  39. <a ew-event="fullScreen" lay-bg="#ec6c44" lay-tips="全屏">
  40. <i class="layui-icon layui-icon-screen-full"></i></a>
  41. </li>
  42. <li class="layui-nav-item" lay-unselect>
  43. <a href="#">
  44. <img src="http://q1.qlogo.cn/g?b=qq&nk=10000&s=640" class="layui-nav-img layui-hide-xs" />
  45. <cite id="huName"></cite>
  46. </a>
  47. <dl class="layui-nav-child">
  48. <dd lay-unselect><a app-event="psw">修改密码</a></dd>
  49. <hr>
  50. <dd lay-unselect><a app-event="logout" data-url="/agent/pages/login.html">退出</a></dd>
  51. </dl>
  52. </li>
  53. <li class="layui-nav-item" lay-unselect>
  54. <a lay-bg="#ec6c44" lay-tips="系统"><i class="layui-icon layui-icon-more-vertical"></i></a>
  55. </li>
  56. </ul>
  57. </div>
  58. <!-- 侧边栏 -->
  59. <div class="layui-side">
  60. <div class="layui-side-scroll">
  61. <ul class="layui-nav layui-nav-tree arrow2" lay-filter="admin-side-nav" lay-shrink="all"></ul>
  62. </div>
  63. </div>
  64. <!-- 主体部分 -->
  65. <div class="layui-body"></div>
  66. <!-- 底部 -->
  67. <div class="layui-footer layui-text">
  68. &copy 2020 <a href="http://www.gxnwsoft.cn" target="_blank">人人接后台管理系统</a>. All rights reserved.
  69. <span class="pull-right app-version">Version 1.0.1</span>
  70. </div>
  71. </div>
  72. <!-- 加载动画 -->
  73. <div class="page-loading">
  74. <div class="ball-loader">
  75. <span></span><span></span><span></span><span></span>
  76. </div>
  77. </div>
  78. <!-- 侧边栏渲染模板 -->
  79. <!-- 侧边栏渲染模板 -->
  80. <script id="sideNav" type="text/html">
  81. {{# layui.each(d, function(index, item){ }}
  82. <li class="layui-nav-item">
  83. <a href="{{item.url}}"><i class="layui-icon {{item.icon}}"></i>&emsp;<cite>{{ item.name}}</cite></a>
  84. {{# if(item.subMenus&&item.subMenus.length>0){ }}
  85. <dl class="layui-nav-child">
  86. {{# layui.each(item.subMenus, function(index, subItem){ }}
  87. <dd>
  88. <a href="{{ subItem.url }}">{{ subItem.name }}</a>
  89. {{# if(subItem.subMenus&&subItem.subMenus.length>0){ }}
  90. <dl class="layui-nav-child">
  91. {{# layui.each(subItem.subMenus, function(index, thrItem){ }}
  92. <dd>
  93. <a href="{{ thrItem.url }}">{{ thrItem.name }}</a>
  94. {{# if(thrItem.subMenus&&thrItem.subMenus.length>0){ }}
  95. <dl class="layui-nav-child">
  96. {{# layui.each(thrItem.subMenus, function(index, fourItem){ }}
  97. <dd>
  98. <a href="{{ fourItem.url }}">{{ fourItem.name }}</a>
  99. {{# if(fourItem.subMenus&&fourItem.subMenus.length>0){ }}
  100. <dl class="layui-nav-child">
  101. {{# layui.each(fourItem.subMenus, function(index, fiveItem){ }}
  102. <dd>
  103. <a href="{{ fiveItem.url }}">{{ fiveItem.name }}</a>
  104. </dd>
  105. {{# }); }}
  106. </dl>
  107. {{# } }}
  108. </dd>
  109. {{# }); }}
  110. </dl>
  111. {{# } }}
  112. </dd>
  113. {{# }); }}
  114. </dl>
  115. {{# } }}
  116. </dd>
  117. {{# }); }}
  118. </dl>
  119. {{# } }}
  120. </li>
  121. {{# }); }}
  122. </script>
  123. <!--<audio preload autoplay loop id="vd">-->
  124. <!-- <source src="/assets/module/notice/4.wav" type="audio/mpeg">-->
  125. <!--</audio>-->
  126. <!-- cdn -->
  127. <script src="https://cdn.bootcss.com/socket.io/2.3.0/socket.io.js"></script>
  128. <!-- js部分 -->
  129. <script type="text/javascript" src="./assets/libs/tinymce/tinymce.min.js"></script>
  130. <script type="text/javascript" src="./assets/libs/layui/layui.js"></script>
  131. <script type="text/javascript" src="./assets/js/main.js"></script>
  132. <script>
  133. layui.use(['layer', 'form', 'notice', 'element'], function () {
  134. var $ = layui.jquery;
  135. var layer = layui.layer;
  136. var form = layui.form;
  137. var notice = layui.notice;
  138. var element = layui.element;
  139. form.render('select');
  140. // socket.io
  141. let socket;
  142. // 连接服务端
  143. socket = io("http://ws.gxrrj.cn/");
  144. // socket = io("http://127.0.0.1:2120/");
  145. // 连接后登录
  146. socket.on('connect', function(){
  147. console.log('socket 链接成功');
  148. });
  149. // 后端推送来消息时
  150. socket.on('message', (r) => {
  151. //TODO 实时数据处理 【首页、个人信息、权限处理】
  152. var data = JSON.parse(r.content);
  153. var options = {
  154. title: '消息通知',
  155. message: '后台有消息推送过来了了啊!!',
  156. displayMode: 2,
  157. timeout: 5000,
  158. audio: "4"
  159. };
  160. switch (r.type) {
  161. case "goods":
  162. options.message = "<a href='#/store/product-order'>" + data.msg + '</a>';
  163. break;
  164. case "motor":
  165. case "skill":
  166. case "rescue":
  167. case "mission":
  168. case "farmland":
  169. default:
  170. options.message = "<a href='#/store/" + r.type + "-order'>" + data.msg + '</a>';
  171. break;
  172. }
  173. notice['info'](options);
  174. return false;
  175. });
  176. element.render();
  177. // /assets/module/notice/4.wav
  178. });
  179. </script>
  180. </body>
  181. </html>