3 changed files with 73 additions and 0 deletions
@ -0,0 +1,27 @@ |
|||
<?php |
|||
namespace app\api\controller; |
|||
|
|||
use app\api\service\UserService; |
|||
use think\Controller; |
|||
use think\response\Json; |
|||
|
|||
/** |
|||
* 用户账户控制器 |
|||
* 功能:MVC 中的C,处理用户输入和反馈给用户 |
|||
*/ |
|||
class Passport extends ApiController{ |
|||
/** |
|||
* 登录 |
|||
*/ |
|||
public function login():Json{ |
|||
|
|||
$model = new UserService; |
|||
if (($userInfo = $model->login($this->postData())) === false) { |
|||
return $this->renderError($model->getError() ?: '登录失败'); |
|||
} |
|||
return $this->renderSuccess([ |
|||
'userId' => $userInfo['uid'], |
|||
'token' => $model->getToken() |
|||
], '登录成功'); |
|||
} |
|||
} |
|||
@ -0,0 +1,9 @@ |
|||
<?php |
|||
|
|||
namespace app\api\model; |
|||
use app\common\model\TimeModel; |
|||
|
|||
class User extends TimeModel |
|||
{ |
|||
protected $deleteTime = 'delete_time'; |
|||
} |
|||
@ -0,0 +1,37 @@ |
|||
<?php |
|||
namespace app\api\service; |
|||
|
|||
use app\api\model\User; |
|||
use think\Db; |
|||
/** |
|||
* 用户表 |
|||
*/ |
|||
class UserService { |
|||
public function mktoken(){ |
|||
// jwt |
|||
$guid = get_guid_v4(); |
|||
$dtime = time(); |
|||
return md5(uniqid($guid.$dtime,true)); |
|||
} |
|||
/** |
|||
* 用户登录操作,传入用户查询后才对比密码 |
|||
*/ |
|||
public function userlogin(string $uname,string $pass){ |
|||
// query db |
|||
$drs = User::where(['nick_name'=>$uname])->find(); |
|||
// 异常处理 |
|||
if(!isset($drs)){ |
|||
throwError('用户不存在'); |
|||
return false; |
|||
}else{ |
|||
// 对比密码 |
|||
if($drs['password'] != $pass){ |
|||
throwError('密码错误'); |
|||
return false; |
|||
} |
|||
// 返回用户信息 |
|||
return $drs; |
|||
} |
|||
return false; |
|||
} |
|||
} |
|||
Loading…
Reference in new issue