scene('login')->validate(); // 接收数据 $username = $Request->input('username', ''); // 接收数据 $password = $Request->input('password', ''); // 查询用户 $admin = $AdminUser->orWhere('username', $username)->first(['uid', 'username', 'phone', 'status', 'password', 'insert_time', 'update_time']); // 用户不存在 if (!$admin || $admin['status']) return json_send(['code' => 'error', 'msg' => '密码错误或账号不存在']); // 用户不存在 if ($admin['status']) return json_send(['code' => 'error', 'msg' => '该账号已停用']); // 转数组 $admin = $admin->toArray(); // 比对密码 if (md5($password) != $admin['password']) return json_send(['code' => 'error', 'msg' => '密码错误或账号不存在']); // 登录 $accessToken = $AdminUser->Login($admin['uid'], 'manager'); // 比对密码 if (isset($accessToken['error'])) return json_send(['code' => 'error', 'msg' => '登录失败', 'data' => $accessToken['data']]); // 获取权限列表 $accessToken['username'] = $admin['username']; // 获取权限列表 $accessToken['auth_rules'] = $AuthRule->getAuthList($admin['uid'], 'manager');; // 表单令牌 return json_send(['code' => 'success', 'msg' => '登录成功', 'data' => $accessToken]); } /** * 登录方法 /manager/login/out * @author 唐远望 * @version 1.0 * @date 2025-12-02 * @param string username 登录账号 * @param string password 登录密码 * * */ public function out(Request $Request, AdminUser $AdminUser) { $token = $Request->input('access_token_manager', ''); // 解码 $userInfo = AccessToken::decode($token); // 验证规则 $uid = $userInfo['uid']; // 退出登录 $AdminUser->LoginOut($uid, 'manager'); // 表单令牌 return json_send(['code' => 'success', 'msg' => '退出成功', 'data' => '']); } /** * 手机号码登录 /manager/login/mobile * @author 唐远望 * @version 1.0 * @date 2025-12-04 * @param string mobile 手机号码 * @param string password 登录密码 * */ public function mobile(Request $Request, AdminUser $AdminUser, AuthRule $AuthRule) { // 验证规则 $Request->scene('mobile')->validate(); // 接收数据 $phone = $Request->input('phone', ''); // 接收数据 $password = $Request->input('password', ''); // 查询用户 $admin = $AdminUser->where('phone', $phone)->first(['uid', 'username', 'phone', 'status', 'password', 'insert_time', 'update_time']); // 用户不存在 if (!$admin || $admin['status']) return json_send(['code' => 'error', 'msg' => '密码错误或账号不存在']); // 用户不存在 if ($admin['status']) return json_send(['code' => 'error', 'msg' => '该账号已停用']); // 转数组 $admin = $admin->toArray(); // 比对密码 if (md5($password) != $admin['password']) return json_send(['code' => 'error', 'msg' => '密码错误或账号不存在']); // 登录 $accessToken = $AdminUser->Login($admin['uid'], 'manager'); // 比对密码 if (isset($accessToken['error'])) return json_send(['code' => 'error', 'msg' => '登录失败', 'data' => $accessToken['data']]); // 获取权限列表 $accessToken['username'] = $admin['username']; // 获取权限列表 $accessToken['auth_rules'] = $AuthRule->getAuthList($admin['uid'], 'manager');; // 表单令牌 return json_send(['code' => 'success', 'msg' => '登录成功', 'data' => $accessToken]); } }