Index.php 3.7 KB

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