index.html 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  5. <title>main</title>
  6. <meta name="renderer" content="webkit">
  7. <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  8. <meta name="viewport"
  9. content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
  10. <script src="__PUBLIC__/echarts/echarts.min.js"></script>
  11. <link rel="stylesheet" href="__PUBLIC__/layui/css/layui.css" media="all">
  12. <link rel="stylesheet" href="__PUBLIC__/font-awesome/css/font-awesome.min.css" media="all">
  13. <link rel="stylesheet" href="__CSS__/admin-1.css" media="all">
  14. <body class="layui-layout-body" style="overflow-y:visible;">
  15. <div class="layadmin-tabsbody-item layui-show">
  16. <div class="layui-fluid">
  17. <div class="layui-row layui-col-space15">
  18. <div class="layui-col-md8">
  19. <div class="layui-row layui-col-space15">
  20. <div class="layui-col-md6">
  21. <div class="layui-card">
  22. <div class="layui-card-header">网站数据</div>
  23. <div class="layui-card-body">
  24. <div class="layui-carousel layadmin-carousel layadmin-backlog" lay-anim=""
  25. lay-indicator="inside" lay-arrow="none" style="width: 100%; height: 280px;">
  26. <div carousel-item="">
  27. <ul class="layui-row layui-col-space10 layui-this">
  28. <li class="layui-col-xs6">
  29. <a lay-href="" class="layadmin-backlog-body">
  30. <h3>会员</h3>
  31. <p><cite>{$web.user_num}</cite></p>
  32. </a>
  33. </li>
  34. <li class="layui-col-xs6">
  35. <a lay-href="" class="layadmin-backlog-body">
  36. <h3>文章</h3>
  37. <p><cite>{$web.article_num}</cite></p>
  38. </a>
  39. </li>
  40. <li class="layui-col-xs6">
  41. <a lay-href="" class="layadmin-backlog-body">
  42. <h3>文件</h3>
  43. <p><cite>{$web.file_num}</cite></p>
  44. </a>
  45. </li>
  46. <li class="layui-col-xs6">
  47. <a lay-href="" class="layadmin-backlog-body">
  48. <h3>消息</h3>
  49. <p><cite>{$web.message_num}</cite></p>
  50. </a>
  51. </li>
  52. </ul>
  53. </div>
  54. <button class="layui-icon layui-carousel-arrow" lay-type="sub"></button>
  55. <button class="layui-icon layui-carousel-arrow" lay-type="add"></button>
  56. </div>
  57. </div>
  58. </div>
  59. </div>
  60. <div class="layui-col-md6">
  61. <div class="layui-card">
  62. <div class="layui-card-header">待办事项</div>
  63. <div class="layui-card-body">
  64. <div class="layui-carousel layadmin-carousel layadmin-backlog" lay-anim=""
  65. lay-indicator="inside" lay-arrow="none" style="width: 100%; height: 280px;">
  66. <div carousel-item="">
  67. <ul class="layui-row layui-col-space10 layui-this">
  68. <li class="layui-col-xs6">
  69. <a lay-href="" class="layadmin-backlog-body">
  70. <h3>会员</h3>
  71. <p><cite>{$web.user_num_wait}</cite></p>
  72. </a>
  73. </li>
  74. <li class="layui-col-xs6">
  75. <a lay-href="" class="layadmin-backlog-body">
  76. <h3>文章</h3>
  77. <p><cite>{$web.status_article}</cite></p>
  78. </a>
  79. </li>
  80. <li class="layui-col-xs6">
  81. <a lay-href="" class="layadmin-backlog-body">
  82. <h3>文件</h3>
  83. <p><cite>{$web.status_file}</cite></p>
  84. </a>
  85. </li>
  86. <li class="layui-col-xs6">
  87. <a lay-href="" class="layadmin-backlog-body">
  88. <h3>消息</h3>
  89. <p><cite>{$web.look_message}</cite></p>
  90. </a>
  91. </li>
  92. </ul>
  93. </div>
  94. <button class="layui-icon layui-carousel-arrow" lay-type="sub"></button>
  95. <button class="layui-icon layui-carousel-arrow" lay-type="add"></button>
  96. </div>
  97. </div>
  98. </div>
  99. </div>
  100. <div class="layui-col-md12">
  101. <div class="layui-card">
  102. <div class="layui-card-header">管理员操作记录</div>
  103. <div class="layui-card-body" id="main" style="height: 450px;">
  104. </div>
  105. </div>
  106. </div>
  107. </div>
  108. </div>
  109. <div class="layui-col-md4">
  110. {if condition="$safe==false"}
  111. <div class="layui-card">
  112. <div class="layui-card-header">
  113. 风险提示
  114. </div>
  115. <div class="layui-card-body layui-text layadmin-text">
  116. <ul style="color:red">
  117. {notempty name="delete_install"}
  118. <li>安装执行文件未删除,<a href="javascript:delinstall()">立即删除</a>?</li>
  119. {/notempty}
  120. {notempty name="weekpass"}
  121. <li>当前密码过于简单,<a href="javascript:editpassword()">立即修改</a>?</li>
  122. {/notempty}
  123. {notempty name="week_backend"}
  124. <li>还未设置安全入口,<a href="javascript:urlsconfig()">立即设置</a>?</li>
  125. {/notempty}
  126. </ul>
  127. </div>
  128. </div>
  129. <script>
  130. function delinstall() {
  131. layer.confirm('确定要删除?', function (index) {
  132. $.ajax({
  133. url: "{:url('install/init/delete')}",
  134. dataType: 'json',
  135. success: function (res) {
  136. layer.msg(res.msg);
  137. if (res.code == 1) {
  138. setTimeout(function () {
  139. location.reload();
  140. }, 1500)
  141. }
  142. }
  143. })
  144. })
  145. }
  146. function editpassword() {
  147. window.parent.tab.tabAdd({
  148. icon: "fa-bookmark",
  149. id: '7',
  150. title: "个人信息",
  151. url: "{:url('admin/admin/editpassword')}"
  152. });
  153. }
  154. function urlsconfig() {
  155. window.parent.tab.tabAdd({
  156. icon: "fa-bookmark",
  157. id: '10',
  158. title: "系统设置",
  159. url: "{:url('admin/webconfig/index')}"
  160. });
  161. }
  162. </script>
  163. {/if}
  164. <div class="layui-card">
  165. <div class="layui-card-header">
  166. 公告
  167. </div>
  168. <div class="layui-card-body layui-text layadmin-text">
  169. <p>
  170. Tplay后台管理框架搭载的是国内最受欢迎的两大框架Layui和ThinkPHP,ThinkPHP的大道至简和Layui的简而全在理念上可谓是不谋而合,两大框架结合所产生的结果就是将WEB开发精简到了极致。
  171. QQ交流群:<a href="https://jq.qq.com/?_wv=1027&k=AUVg7vSC" target="_blank">609048497</a>
  172. </p>
  173. </div>
  174. </div>
  175. <div class="layui-card">
  176. <div class="layui-card-header">版本信息</div>
  177. <div class="layui-card-body layui-text">
  178. <table class="layui-table">
  179. <colgroup>
  180. <col width="100">
  181. <col>
  182. </colgroup>
  183. <tbody>
  184. <tr>
  185. <td>当前版本</td>
  186. <td>
  187. {$Think.const.PRODUCT_NAME}-{$Think.const.PRODUCT_VERSION}
  188. <a href="{$Think.const.PRODUCT_URL}" target="_blank"
  189. class="layui-btn layui-btn-sm">源码</a>
  190. </td>
  191. </tr>
  192. <tr>
  193. <td>下载交流</td>
  194. <td style="padding-bottom: 0;">
  195. layui-2.5.6
  196. <a href="https://gitee.com/layui" target="_blank"
  197. class="layui-btn layui-btn-sm">文档</a>
  198. <a href="https://dev.layuion.com/extend/" target="_blank"
  199. class="layui-btn layui-btn-sm">插件</a>
  200. </td>
  201. </tr>
  202. <tr>
  203. <td>基于框架</td>
  204. <td>
  205. thinkphp-{$info.tp}
  206. <a href="https://www.kancloud.cn/manual/thinkphp5/118003" target="_blank"
  207. class="layui-btn layui-btn-sm">文档</a>
  208. </td>
  209. </tr>
  210. <tr>
  211. <td>主要特色</td>
  212. <td>适配强 / 高颜值 / 清爽 / 简洁</td>
  213. </tr>
  214. </tbody>
  215. </table>
  216. </div>
  217. </div>
  218. <div class="layui-card">
  219. <div class="layui-card-header">系统信息</div>
  220. <div class="layui-card-body layui-text">
  221. <table class="layui-table">
  222. <colgroup>
  223. <col width="200">
  224. <col>
  225. </colgroup>
  226. <tbody>
  227. <tr>
  228. <td>操作系统</td>
  229. <td>
  230. {$info.win}
  231. </td>
  232. </tr>
  233. <tr>
  234. <td>运行环境</td>
  235. <td>{$info.environment}</td>
  236. </tr>
  237. <tr>
  238. <td>PHP版本</td>
  239. <td>
  240. {$info.php}
  241. </td>
  242. </tr>
  243. <tr>
  244. <td>后台最大上传值</td>
  245. <td>
  246. {$info.tplay_filesize|format_bytes}
  247. </td>
  248. </tr>
  249. <tr>
  250. <td title="upload_max_filesize">PHP最大上传值</td>
  251. <td>
  252. {$info.upload_max_filesize}
  253. </td>
  254. </tr>
  255. <tr>
  256. <td title="post_max_size">PHP最大POST值 </td>
  257. <td>
  258. {$info.post_max_size}
  259. </td>
  260. </tr>
  261. <tr>
  262. <td title="memory_limit">PHP内存限制</td>
  263. <td>
  264. {$info.memory_limit}
  265. </td>
  266. </tr>
  267. <tr>
  268. <td title="max_execution_time">PHP执行时间限制</td>
  269. <td>
  270. {$info.max_execution_time}
  271. </td>
  272. </tr>
  273. {notempty name="$info.disk"}
  274. <tr>
  275. <td>剩余空间大小</td>
  276. <td>
  277. {$info.disk}
  278. </td>
  279. </tr>
  280. {/notempty}
  281. </tbody>
  282. </table>
  283. </div>
  284. </div>
  285. </div>
  286. </div>
  287. </div>
  288. </div>
  289. <script src="__PUBLIC__/layui/layui.js"></script>
  290. <script>
  291. layui.use(['jquery','layer'],function() {
  292. window.$ = layui.$;
  293. var layer = layui.layer;
  294. {notempty name="$waring"}
  295. layer.alert('{$waring.msg}', {icon: 5}, function(index){
  296. location.href = "{$waring.url}";
  297. });
  298. {/notempty}
  299. })
  300. </script>
  301. <script type="text/javascript">
  302. var a = "{$web.date_string}";
  303. var date = a.split(",");
  304. var b = "{$web.login_sum}";
  305. var login_sum = b.split(",");
  306. var myChart = echarts.init(document.getElementById('main'));
  307. option = {
  308. tooltip: {
  309. trigger: 'axis',
  310. position: function (pt) {
  311. return [pt[0], '10%'];
  312. }
  313. },
  314. grid: {
  315. top: 50,
  316. bottom: 70,
  317. left: 40,
  318. right: 50
  319. },
  320. toolbox: {
  321. feature: {
  322. dataZoom: {
  323. yAxisIndex: 'none'
  324. },
  325. restore: {},
  326. saveAsImage: {}
  327. }
  328. },
  329. xAxis: {
  330. type: 'category',
  331. boundaryGap: false,
  332. data: date
  333. },
  334. yAxis: {
  335. type: 'value',
  336. boundaryGap: [0, '100%']
  337. },
  338. dataZoom: [{
  339. type: 'inside',
  340. start: 0,
  341. end: 100
  342. }, {
  343. start: 0,
  344. end: 100,
  345. handleIcon: 'M10.7,11.9v-1.3H9.3v1.3c-4.9,0.3-8.8,4.4-8.8,9.4c0,5,3.9,9.1,8.8,9.4v1.3h1.3v-1.3c4.9-0.3,8.8-4.4,8.8-9.4C19.5,16.3,15.6,12.2,10.7,11.9z M13.3,24.4H6.7V23h6.6V24.4z M13.3,19.6H6.7v-1.4h6.6V19.6z',
  346. handleSize: '100%',
  347. handleStyle: {
  348. color: '#fff',
  349. shadowBlur: 3,
  350. shadowColor: '#009688',
  351. shadowOffsetX: 2,
  352. shadowOffsetY: 2
  353. }
  354. }],
  355. series: [
  356. {
  357. name: '操作记录',
  358. type: 'line',
  359. smooth: true,
  360. symbol: 'none',
  361. sampling: 'average',
  362. itemStyle: {
  363. normal: {
  364. color: '#009688'
  365. }
  366. },
  367. areaStyle: {
  368. normal: {
  369. color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
  370. offset: 0,
  371. color: '#009688'
  372. }, {
  373. offset: 1,
  374. color: '#009688'
  375. }])
  376. }
  377. },
  378. data: login_sum
  379. }
  380. ]
  381. };
  382. myChart.setOption(option);
  383. </script>
  384. </body>
  385. </html>