Index.php 4.1 KB

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