Index.php 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. <?php
  2. namespace app\admin\controller;
  3. class Index extends Base
  4. {
  5. // 后台总体框架
  6. public function index()
  7. {
  8. return $this->fetch('/index');
  9. }
  10. // 后台默认首页
  11. public function indexPage()
  12. {
  13. $this->assign([
  14. 'socket' => config('socket'),
  15. 'token' => session('token'),
  16. ]);
  17. $data = db('now_data')->where('id', 1)->find();
  18. // 生成从 8点 到 22点的时间数组
  19. $dateLine = array_map(function($vo){
  20. if($vo < 10){
  21. return '0' . $vo;
  22. }else{
  23. return $vo;
  24. }
  25. }, range(8, 22));
  26. // 初始化数据
  27. $line = [];
  28. foreach($dateLine as $key=>$vo){
  29. $line[$vo] = [
  30. 'is_talking' => 0,
  31. 'in_queue' => 0,
  32. 'success_in' => 0,
  33. 'total_in' => 0
  34. ];
  35. }
  36. //$dbData = db('service_data')->where('add_date',date('Y-m-d'))->group('add_hour')->select();
  37. $dbData = db('service_data')->where('add_date',date('Y-m-d'))->select();
  38. foreach($line as $key=>$vo){
  39. foreach($dbData as $k=>$v){
  40. if($v['add_hour'] == $key){
  41. $line[$key]['is_talking'] = $v['is_talking'];
  42. $line[$key]['in_queue'] = $v['in_queue'];
  43. $line[$key]['success_in'] = $v['success_in'];
  44. $line[$key]['total_in'] = $v['total_in'];
  45. unset($dbData[$k]);
  46. continue;
  47. }
  48. }
  49. }
  50. $showData = [];
  51. foreach($line as $key=>$vo){
  52. $showData['is_talking'][] = $vo['is_talking'];
  53. $showData['in_queue'][] = $vo['in_queue'];
  54. $showData['success_in'][] = $vo['success_in'];
  55. $showData['total_in'][] = $vo['total_in'];
  56. }
  57. $this->assign([
  58. 'data' => $data,
  59. 'show_data' => json_encode($showData)
  60. ]);
  61. return $this->fetch('index');
  62. }
  63. // 清除缓存
  64. public function clear()
  65. {
  66. if (false === removeDir(RUNTIME_PATH)) {
  67. return json(['code' => -1, 'data' => '', 'msg' => '清除缓存失败']);
  68. }
  69. return json(['code' => 1, 'data' => '', 'msg' => '清除缓存成功']);
  70. }
  71. // 修改管理员密码
  72. public function changePassword()
  73. {
  74. $token = input("param.token/s");
  75. $res = model('Admins')->checktoken($token);
  76. if($res == -1){
  77. return $res;
  78. }
  79. $user_id = $res;
  80. if(request()->isPost()){
  81. $param = input('post.');
  82. $reLogin = false;
  83. if(empty($param['old_pwd']) && !empty($param['password'])){
  84. return json(['code' => -2, 'data' => '', 'msg' => '请输入旧密码']);
  85. }
  86. if(!empty($param['old_pwd']) && empty($param['password'])){
  87. return json(['code' => -3, 'data' => '', 'msg' => '请输入新密码']);
  88. }
  89. if(!empty($param['old_pwd']) && !empty($param['password'])){
  90. $userPwd = db('admins')->where('id', $user_id)->find();
  91. if(empty($userPwd)){
  92. return json(['code' => -4, 'data' => '', 'msg' => '管理员不存在']);
  93. }
  94. if(md5($param['old_pwd'] . config('salt')) != $userPwd['password']){
  95. return json(['code' => -1, 'data' => '', 'msg' => '旧密码错误']);
  96. }
  97. $info['password'] = md5($param['password'] . config('salt'));
  98. $reLogin = true;
  99. }
  100. db('admins')->where('id', $user_id)->setField('password', $info['password']);
  101. return json(['code' => 1, 'data' => $reLogin, 'msg' => '修改信息成功']);
  102. }
  103. }
  104. // 管理员信息
  105. public function adminInfo(){
  106. $user_id = session('user_id');
  107. //管理员信息
  108. $admin = db('admins')->where('id', $user_id)->find();
  109. //菜单
  110. $menu = db('menu')->select();
  111. $date['admin'] = $admin;
  112. $date['menu'] = $menu;
  113. return $date;
  114. $this->assign([
  115. 'data' => $date
  116. ]);
  117. return $this->fetch('/menu');
  118. }
  119. }