salt); $user = DB::table('mp_manage_users')->where('account', $account)->where('pwd', $pwd)->where('is_deleted', 0)->first(); if (!$user) { Utils::throwError('20003:用户不存在'); } if ((int)getProp($user, 'is_enabled') === 0) { Utils::throwError('20003:用户已被禁用'); } // 更新token $uid = getProp($user, 'id'); $nickname = getProp($user, 'nickname'); $token = getProp($user, 'token'); if (empty($token)) { $token = md5(makeRandStr(32)); DB::table('mp_manage_users')->where('id', $uid)->update([ 'token' => $token, 'updated_at' => date('Y-m-d H:i:s') ]); } // 用户角色 $role = getProp($user, 'role'); return compact('uid', 'nickname', 'token', 'role'); } public function userInfo(): array { $uid = Site::getUid(); $user = DB::table('mp_manage_users')->where('id', $uid)->where('is_deleted', 0)->first(); if (!$user) { Utils::throwError('20003:用户不存在'); } if ((int)getProp($user, 'is_enabled') === 0) { Utils::throwError('20003:用户已被禁用'); } // 更新token $uid = getProp($user, 'id'); $nickname = getProp($user, 'nickname'); $token = getProp($user, 'token'); $token_expire_at = getProp($user, 'token_expire_at'); if ($token_expire_at) $token_expire_at = transDate($token_expire_at); $refresh_token = getProp($user, 'refresh_token'); $refresh_token_expires_at = getProp($user, 'refresh_token_expires_at'); if ($refresh_token_expires_at) $refresh_token_expires_at = transDate($refresh_token_expires_at); // 用户角色 $role = getProp($user, 'role'); $points = getProp($user, 'points'); return compact('uid', 'nickname', 'token', 'token_expire_at', 'refresh_token', 'refresh_token_expires_at', 'role', 'points'); } /** * 退出登录 * * @param $token * @return bool */ public function logout($token): bool { if (empty($token)) { return true; } // 退出不影响多设备 return DB::table('mp_manage_users')->where('token', $token)->update([ 'updated_at' => date('Y-m-d H:i:s') ]); } }