diff --git a/src-tauri/src/commands/auth.rs b/src-tauri/src/commands/auth.rs index 4ec851c..6a90b10 100644 --- a/src-tauri/src/commands/auth.rs +++ b/src-tauri/src/commands/auth.rs @@ -790,7 +790,6 @@ pub struct OAuthState { pub email: String, pub name: String, pub github_username: Option, - pub permission: u32, pub login_time: String, } diff --git a/src/App.tsx b/src/App.tsx index 2fe4dd2..f15c0ef 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -48,14 +48,6 @@ const applyGlobalFontFamily = (fontValue?: string) => { document.body.style.fontFamily = fontFamily } -const mapOAuthPermissionToAppPermission = ( - oauthPermission: number -): "admin" | "points" | "view" => { - if (oauthPermission >= 18) return "admin" - if (oauthPermission >= 1) return "points" - return "view" -} - function MainContent(): React.JSX.Element { const { t } = useTranslation() const navigate = useNavigate() @@ -218,26 +210,19 @@ function MainContent(): React.JSX.Element { api.getAllSettings(), ]) - const oauthPermission = - oauthRes?.success && oauthRes.data - ? mapOAuthPermissionToAppPermission(oauthRes.data.permission) - : null + // OAuth 登录仅用于云服务,不影响本地权限 if (oauthRes?.success && oauthRes.data?.name) { setOAuthUserName(String(oauthRes.data.name)) } else { setOAuthUserName(null) } + // 本地权限系统独立于 OAuth if (authRes?.success && authRes.data) { const anyPwd = Boolean(authRes.data.hasAdminPassword || authRes.data.hasPointsPassword) setHasAnyPassword(anyPwd) - - const finalPermission = oauthPermission ?? authRes.data.permission - setPermission(finalPermission) - setAuthVisible(anyPwd && finalPermission === "view") - } else if (oauthPermission) { - setPermission(oauthPermission) - setAuthVisible(false) + setPermission(authRes.data.permission) + setAuthVisible(anyPwd && authRes.data.permission === "view") } if (settingsRes?.success && settingsRes.data) { @@ -527,10 +512,8 @@ function MainContent(): React.JSX.Element { email: string name: string github_username?: string - permission: number }) => { - setPermission(mapOAuthPermissionToAppPermission(userInfo.permission)) - setAuthVisible(false) + // OAuth 登录仅用于云服务,不修改本地权限 setOAuthUserName(userInfo.name || null) messageApi.success(t("auth.oauthSuccess", "登录成功")) } diff --git a/src/components/OAuth/OAuthLogin.tsx b/src/components/OAuth/OAuthLogin.tsx index d95036e..0a558c7 100644 --- a/src/components/OAuth/OAuthLogin.tsx +++ b/src/components/OAuth/OAuthLogin.tsx @@ -12,7 +12,6 @@ interface OAuthLoginProps { email: string name: string github_username?: string - permission: number }) => void } @@ -170,7 +169,6 @@ export function OAuthLogin({ visible, onClose, onSuccess }: OAuthLoginProps) { email: userRes.data.email, name: userRes.data.name, github_username: userRes.data.github_username, - permission: userRes.data.permission, login_time: new Date().toISOString(), } diff --git a/src/components/Settings.tsx b/src/components/Settings.tsx index 0e11dba..1a17acc 100644 --- a/src/components/Settings.tsx +++ b/src/components/Settings.tsx @@ -203,15 +203,8 @@ export const Settings: React.FC<{ email: string name: string github_username?: string - permission: number } | null>(null) - const getOAuthPermissionLabel = (oauthPermission: number) => { - if (oauthPermission >= 18) return t("permissions.admin") - if (oauthPermission >= 1) return t("permissions.points") - return t("permissions.view") - } - const permissionTag = useMemo(() => { return ( const user = customEvent?.detail?.user - if (user?.user_id && user.email && user.name && typeof user.permission === "number") { + if (user?.user_id && user.email && user.name) { setOAuthUserInfo({ user_id: user.user_id, email: user.email, name: user.name, github_username: user.github_username, - permission: user.permission, }) } else { setOAuthUserInfo(null) @@ -1163,13 +1153,6 @@ export const Settings: React.FC<{ -
- {t("settings.account.permission")}: - - {getOAuthPermissionLabel(oauthUserInfo.permission)} - -
-