Login.php 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  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. $userAccount = input('post.username');
  16. $password = input('post.password');
  17. $user = db('users')->where('user_account', $userAccount)->find();
  18. if(empty($user)){
  19. return json(['code' => -1, 'data' => '', 'msg' => '客服不存在']);
  20. }
  21. if(md5($password . config('salt')) != $user['user_pwd']){
  22. return json(['code' => -2, 'data' => '', 'msg' => '密码错误']);
  23. }
  24. // 登陆成功 生成token
  25. $module = mt_rand(100000,999999);
  26. $token = base64_encode($module.'#$@%!^*/'.time().'/'.$user['id']);
  27. // 更新管理员状态
  28. $param = [
  29. 'token' => $token,
  30. 'expire_time' => time()
  31. ];
  32. db('users')->where('id', $user['id'])->update($param);
  33. $user = db('users')->field('id,user_name,user_avatar,phone,group_id,token')->where('id', $user['id'])->select();
  34. $group = db('groups')->where('id', $user[0]['group_id'])->find();
  35. $user[0]['group'] = $group['name'];
  36. $this->assign([
  37. 'token' => $token,
  38. 'user_name' => $user[0]['user_name'],
  39. 'user_account' => $userAccount
  40. ]);
  41. return json(['code' => 1, 'data' => ['user' => $user[0]], 'msg' => '登录成功']);
  42. }
  43. public function loginOut()
  44. {
  45. $this->redirect(url('login/index'));
  46. }
  47. }