Login.php 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. <?php
  2. namespace app\service\controller;
  3. use think\Controller;
  4. class Login extends Controller
  5. {
  6. public function index()
  7. {
  8. $this->assign([
  9. 'version' => config('version')
  10. ]);
  11. return $this->fetch();
  12. }
  13. public function doLogin()
  14. {
  15. if(request()->isAjax()){
  16. $userName = input('post.username');
  17. $password = input('post.password');
  18. $user = db('users')->where('user_name', $userName)->find();
  19. if(empty($user)){
  20. return json(['code' => -1, 'data' => '', 'msg' => '客服不存在']);
  21. }
  22. if(md5($password . config('salt')) != $user['user_pwd']){
  23. return json(['code' => -2, 'data' => '', 'msg' => '密码错误']);
  24. }
  25. // 设置session标识状态
  26. cookie('l_user_name', $user['user_name'], config('save_time'));
  27. cookie('l_user_id', $user['id'], config('save_time'));
  28. cookie('l_user_avatar', $user['user_avatar'], config('save_time'));
  29. // 登陆成功 生成token
  30. $module = mt_rand(100000,999999);
  31. $token = base64_encode($module.'#$@%!^*/'.time().'/'.$user['id']);
  32. // 更新管理员状态
  33. $param = [
  34. 'token' => $token,
  35. 'expire_time' => time()
  36. ];
  37. db('users')->where('id', $user['id'])->update($param);
  38. $this->assign([
  39. 'token' => $token,
  40. 'user_name' => $userName
  41. ]);
  42. return json(['code' => 1, 'data' => url('index/index'), 'msg' => '登录成功']);
  43. }
  44. $this->error('非法访问');
  45. }
  46. public function loginOut()
  47. {
  48. $this->redirect(url('login/index'));
  49. }
  50. }