Login.php 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. <?php namespace App\Http\Controllers\Api;
  2. use App\Http\Controllers\Api\Api;
  3. use App\Models\Admin;
  4. /**
  5. * 管理后台登录控制器
  6. *
  7. * @author 刘相欣
  8. *
  9. * */
  10. class Login extends Api {
  11. /**
  12. * 登录方法 /api/login/index
  13. *
  14. * @param string username 登录账号
  15. * @param string password 登录密码
  16. *
  17. * */
  18. public function index(Admin $AdminUser){
  19. // 接收数据
  20. $username = request('username','');
  21. // 接收数据
  22. $password = request('password','');
  23. // 查询用户
  24. $admin = $AdminUser->orWhere('username',$username)->orWhere('phone',$username)->first(['uid','username','phone','status','password','insert_time','update_time']);
  25. // 用户不存在
  26. if( !$admin ) return json_send(['code'=>'error','msg'=>'密码错误或账号不存在']);
  27. // 用户不存在
  28. if( $admin['status'] ) return json_send(['code'=>'error','msg'=>'该账号已停用']);
  29. // 转数组
  30. $admin = $admin->toArray();
  31. // 比对密码
  32. if( md5($password) != $admin['password']) return json_send(['code'=>'error','msg'=>'密码错误或账号不存在']);
  33. // 登录
  34. $accessToken = $AdminUser->Login($admin['uid'],'admin');
  35. // 比对密码
  36. if( isset($accessToken['error']) ) return json_send(['code'=>'error','msg'=>'登录失败','data'=>$accessToken['data']]);
  37. // 登录名称
  38. $accessToken['username'] = $admin['username'];
  39. // 表单令牌
  40. return json_send(['code'=>'success','msg'=>'登录成功','data'=>$accessToken]);
  41. }
  42. }