| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- <?php
- namespace Modules\ManageApi\Controllers;
- use App\Models\AdminModel;
- use Modules\ManageApi\Services\ManageAuthService;
- use Validator;
- class AuthController extends BaseController
- {
- /**
- * Jwt受众.
- *
- * @var string
- */
- private $jwtAud = 'manage-users';
- public function login()
- {
- $inputData = $this->getJsonData();
- $rules = [
- 'account' => 'required|max:120',
- 'pass' => 'required|max:64',
- ];
- $validator = app('validator')->make($inputData, $rules);
- if ($validator->fails()) {
- // 如果有错误(可能是多个信息),这里只取第一个错误信息返回.
- return json_fail($validator->errors()->first());
- }
- $adminInfo = AdminModel::query()
- ->where(['account' => $inputData['account'], 'status' => 1])
- ->first();
- if (!$adminInfo) {
- return json_fail('用户不存在');
- }
- $md5password = generatePassword($inputData['pass'], $adminInfo['salt']);
- if ($md5password != $adminInfo['password']) {
- return json_fail('密码错误,请输入正确的登陆密码');
- }
- $tokenInfo = app(ManageAuthService::class)->createSingleJwt($adminInfo['id'], $adminInfo['account']);
- $data = [
- 'token' => $tokenInfo['token'],
- 'expired_at' => $tokenInfo['expired_at'],
- 'manager_id' => $adminInfo->id,
- ];
- $adminInfo->login_time = date('Y-m-d H:i:s');
- $adminInfo->save();
- return json_success($data);
- }
- }
|