| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- <?php
- namespace App\Http\Controllers\AdminApi;
- use App\Http\Controllers\FrontController;
- use App\Models\User;
- use App\Servers\PassServer;
- use Illuminate\Http\Request;
- use Illuminate\Support\Facades\Auth;
- use Illuminate\Support\Str;
- class LoginController extends FrontController
- {
- public function __construct()
- {
- parent::__construct();
- }
- /**
- * 后台登录
- * @return \Illuminate\Http\JsonResponse
- */
- function login(){
- $phone = request()->input('phone', '13900139001');//账号
- $password = request()->input('password', '123456');//密码
- $code = request()->input('code', '');//验证码
- if (empty($phone)) return $this->apiResponseError( '登录手机号必填');
- if (empty($password)) return $this->apiResponseError( '登录密码必填');
- $where = [['is_del',0], ['status',1], ['phone',$phone]];
- $user = User::where($where)->select(['id', 'password', 'encrypt'])->first();
- if (empty($user)) {
- return $this->apiResponseError('当前账户不存在');
- }
- //密码验证
- $pass_server = PassServer::creatServer($password, $user->{'encrypt'});
- if (!$pass_server->verifyPass($user->{'password'})) {
- return $this->apiResponseError('登陆密码错误');
- }
- $token = Str::random(60);
- $api_token = hash('sha256', $token);
- $token_ret = $user->update(['api_token'=>$api_token]);
- if(empty($token_ret)){
- return $this->apiResponseError('登陆信息更新失败');
- }
- //获取用户信息
- $info = User::where('api_token', $api_token)->select(['id','name','email','phone'])->first();
- return $this->apiResponseSuccess('登录成功',['token'=>$api_token,'user'=>$info]);
- }
- /**
- * 退出登录
- * @return \Illuminate\Http\JsonResponse
- */
- public function logout()
- {
- request()->session()->flush();
- return $this->apiResponseSuccess('退出成功');
- }
- }
|