Index.php 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258
  1. <?php
  2. namespace app\admin\controller;
  3. use think\Session;
  4. use think\Cache;
  5. use think\Request;
  6. use app\admin\model\LogModel;
  7. use app\admin\model\IndexModel;
  8. class Index extends Base
  9. {
  10. public function server(){//运行环境
  11. $info = array(
  12. '操作系统'=>PHP_OS,
  13. '运行环境'=>$_SERVER["SERVER_SOFTWARE"],
  14. 'PHP运行方式'=>php_sapi_name(),
  15. '上传附件限制'=>ini_get('upload_max_filesize'),
  16. '执行时间限制'=>ini_get('max_execution_time').'秒',
  17. '服务器时间'=>date("Y年n月j日 H:i:s"),
  18. '北京时间'=>gmdate("Y年n月j日 H:i:s",time()+8*3600),
  19. 'ThinkPHP版本'=>THINK_VERSION,
  20. );
  21. //登录次数echarts统计图-----------------------------------------
  22. $today = date('Y-m-d');
  23. //取当前时间的前十四天
  24. $date = [];
  25. $date_string = '';
  26. for ($i=9; $i >0 ; $i--) {
  27. $date[] = date("Y-m-d",strtotime("-{$i} day"));
  28. $date_string.= date("Y-m-d",strtotime("-{$i} day")) . ',';
  29. }
  30. $date[] = $today;
  31. $date_string.= $today;
  32. $web['date_string'] = $date_string;
  33. $login_sum = '';
  34. foreach ($date as $k => $val) {
  35. $min_time = strtotime($val);
  36. $max_time = $min_time + 60*60*24;
  37. $where['create_time'] = [['>=',$min_time],['<=',$max_time]];
  38. // dump($where);die;
  39. $where['remark']= "登录操作";
  40. $login_sum.= db('user_log')->where($where)->count() . ',';
  41. }
  42. $web['login_sum'] = $login_sum;
  43. //end--------------------------------------------------------
  44. $this->assign('web',$web);
  45. $this->assign('info',$info);
  46. return view();
  47. }
  48. public function clears(){//清楚缓存
  49. Cache::clear();
  50. $this->success('index/lst');
  51. }
  52. public function lst_data(Request $request){//用户列表json数据动态表格显示(分页)
  53. $user = new IndexModel();
  54. $uname = request()->param('uname');//接收请求数据id
  55. if(!empty($uname)){//不为空执行搜索条件,为空则跳过判断条件直接显示列表页,
  56. $where = ['uname'=>$uname];
  57. //数据表获取总记录数
  58. $count = $user->where($where)->count();
  59. //获取每页显示的条数
  60. $limit= $request->param('limit');
  61. //获取当前页码
  62. $page= $request->param('page');
  63. //limit的起始位置
  64. $start=($page-1)*$limit;
  65. // 查询出当前页数显示的数据
  66. $list = $user
  67. ->limit("$start,$limit")
  68. ->where($where)
  69. ->select();
  70. // dump($list);die;
  71. foreach($list as $k=>$v){ /*循环时间戳转时间格式*/
  72. $list[$k]['last_login_time'] = date('Y-m-d H:i:s',$v['last_login_time']);
  73. }
  74. //返回数据
  75. return ["code"=>0,"msg"=>"成功","count"=>$count,"data"=>$list];
  76. }
  77. //数据表获取总记录数
  78. $count = $user->count();
  79. //获取每页显示的条数
  80. $limit= $request->param('limit');
  81. //获取当前页码
  82. $page= $request->param('page');
  83. //limit的起始位置
  84. $start=($page-1)*$limit;
  85. // 查询出当前页数显示的数据
  86. $list = $user//关联查询
  87. ->limit("$start,$limit")
  88. ->select();
  89. foreach($list as $k=>$v){ /*循环时间戳转时间格式*/
  90. $list[$k]['last_login_time'] = date('Y-m-d H:i:s',$v['last_login_time']);
  91. }
  92. //返回数据
  93. return ["code"=>0,"msg"=>"成功","count"=>$count,"data"=>$list];
  94. }
  95. public function lst()//用户列表
  96. {
  97. return view();
  98. }
  99. public function edit(){//用户信息编辑
  100. $user = new IndexModel();
  101. $id = input('id');
  102. $db = db('user')->where('id',$id)->find();
  103. if(request()->isPost()){
  104. $data['id'] = $id;
  105. $data['uname'] = input('uname');
  106. $data['upass'] =input('upass');
  107. if(empty($data['upass'])){
  108. $data['upass']=$db['upass'];
  109. $edit = $user->where('id',$id)->update($data);
  110. if($edit){
  111. return 1;
  112. }else{
  113. return 2;
  114. }
  115. }else{
  116. $data['upass']=md5(input('upass'));
  117. $edit = $user->where('id',$id)->update($data);
  118. if($edit){
  119. return 1;
  120. }else{
  121. return 2;
  122. }
  123. }
  124. }
  125. $this->assign([
  126. 'db'=>$db,//本身id
  127. ]);
  128. return view();
  129. }
  130. public function add(){//添加
  131. $user = new IndexModel();
  132. if(request()->isPost()){
  133. $data['uname'] = input('uname');
  134. $data['upass'] = input('upass');
  135. $list = $user->where('uname',trim($data['uname']))->select();
  136. if(empty($list)){
  137. $data['upass']=md5(trim($data['upass']));
  138. if($user->save($data)){
  139. return 1;
  140. }else{
  141. return 2;
  142. }
  143. }else{
  144. return 2;
  145. }
  146. }
  147. return view();
  148. }
  149. public function del(){//删除
  150. $user = new IndexModel();
  151. $id = input('id');
  152. $where = [
  153. 'id'=>$id,
  154. ];
  155. if($id==1){
  156. return 3;//超级管理员不允许删除
  157. }
  158. $list = $user->where($where)->delete();
  159. if($list){
  160. return 1;
  161. }else{
  162. return 2;
  163. }
  164. }
  165. public function pdel(){//批量删除
  166. $user = new IndexModel();
  167. if(request()->isPost()){
  168. $id = input('post.');
  169. $ids = implode(',',$id);
  170. $where = [
  171. 'id'=>['in',$ids],
  172. ];
  173. $list = $user->where($where)->delete();
  174. if($list){
  175. return 1;
  176. }else{
  177. return 2;//删除失败
  178. }
  179. }else{
  180. return view();
  181. }
  182. }
  183. public function log_data(Request $request)//日志记录列表接口
  184. {
  185. $user = new LogModel();
  186. // $data = $user->select();
  187. //数据表获取总记录数
  188. $count = $user->count();
  189. //获取每页显示的条数
  190. $limit= $request->param('limit');
  191. //获取当前页码
  192. $page= $request->param('page');
  193. //limit的起始位置
  194. $start=($page-1)*$limit;
  195. // 查询出当前页数显示的数据
  196. $list = $user
  197. ->limit("$start,$limit")
  198. ->select();
  199. //返回数据
  200. return ["code"=>0,"msg"=>"成功","count"=>$count,"data"=>$list];
  201. }
  202. public function log()//日志记录列表
  203. {
  204. return view();
  205. }
  206. public function truncate()//一键清除日志记录
  207. {
  208. if(request()->isPost()){
  209. $trun = db()->query('TRUNCATE ' . config('database.prefix') . 'user_log');
  210. return 1;//删除成功
  211. }else{
  212. return 2;//为空或者没有权限
  213. }
  214. }
  215. }