diff --git a/src/components/LoginDialog.vue b/src/components/LoginDialog.vue
index b106ed1..a8c0929 100644
--- a/src/components/LoginDialog.vue
+++ b/src/components/LoginDialog.vue
@@ -20,14 +20,16 @@
v-for="provider in providers"
:key="provider.id"
@click="handleLogin(provider)"
- class="w-full flex items-center gap-3 px-4 py-3 border rounded-lg hover:bg-accent transition-colors"
- :style="{ borderColor: provider.color + '20' }"
+ class="w-full flex items-center gap-3 px-4 py-3 border rounded-lg transition-colors hover:bg-accent"
+ :style="{
+ borderColor: (provider.color || '#666')
+ }"
>
-
-
+
+
-
{{ provider.name }}
+
{{ provider.displayName || provider.name }}
{{ provider.description }}
@@ -96,7 +98,9 @@ const getProviderIcon = (icon) => {
const loadProviders = async () => {
try {
const response = await apiClient.getOAuthProviders()
- providers.value = response.data || []
+ const list = response.data || []
+ // 后端已去除 order 字段,保持原顺序
+ providers.value = list
} catch (error) {
console.error('Failed to load OAuth providers:', error)
toast.error('无法加载登录方式', {
@@ -142,8 +146,11 @@ const handleLogin = (provider) => {
authWindow.close()
}
+ const display = event.data.providerName || event.data.provider
+ const color = event.data.providerColor
toast.success('登录成功', {
- description: `已通过 ${event.data.provider} 登录`
+ description: `已通过 ${display} 登录`,
+ style: color ? { borderLeft: `4px solid ${color}` } : undefined
})
// 调用成功回调
@@ -180,11 +187,13 @@ const handleLogin = (provider) => {
// 检查localStorage中是否有token(降级方案)
const token = localStorage.getItem('auth_token')
- const authProvider = localStorage.getItem('auth_provider')
+ const authProvider = localStorage.getItem('auth_provider_name') || localStorage.getItem('auth_provider')
+ const providerColor = localStorage.getItem('auth_provider_color')
if (token) {
toast.success('登录成功', {
- description: `已通过 ${authProvider} 登录`
+ description: `已通过 ${authProvider || '账户'} 登录`,
+ style: providerColor ? { borderLeft: `4px solid ${providerColor}` } : undefined
})
// 调用成功回调
@@ -211,7 +220,7 @@ const handleLogin = (provider) => {
description: '请重试'
})
}
- }, 30000)
+ }, 300000)
}
onMounted(() => {
diff --git a/src/composables/useOAuthCallback.js b/src/composables/useOAuthCallback.js
index f01d598..d6e5996 100644
--- a/src/composables/useOAuthCallback.js
+++ b/src/composables/useOAuthCallback.js
@@ -13,7 +13,7 @@ export function useOAuthCallback() {
const accountStore = useAccountStore()
const handleOAuthCallback = async () => {
- const { token, provider, success, error } = route.query
+ const { token, provider, color, success, error } = route.query
// 检查是否是OAuth回调
if (!success && !error) {
@@ -25,14 +25,15 @@ export function useOAuthCallback() {
try {
// 保存token到localStorage
localStorage.setItem('auth_token', token)
- localStorage.setItem('auth_provider', provider)
+ localStorage.setItem('auth_provider', provider)
+ if (color) localStorage.setItem('auth_provider_color', color)
// 登录到store
await accountStore.login(token)
// 显示成功提示
toast.success('登录成功', {
- description: `已通过 ${provider} 登录`
+ description: `已通过 ${provider} 登录`,
})
// 清除URL参数
@@ -51,7 +52,7 @@ export function useOAuthCallback() {
window.opener.postMessage({
type: 'oauth_success',
token,
- provider
+ provider,
}, window.location.origin)
// 延迟关闭窗口,确保消息已发送
diff --git a/src/pages/index.vue b/src/pages/index.vue
index 6af1694..aea5c23 100644
--- a/src/pages/index.vue
+++ b/src/pages/index.vue
@@ -418,9 +418,27 @@ onMounted(async () => {
>
{{ accountStore.userName }}
+
+ {{ accountStore.profile.providerInfo.displayName }}
+
+
+
+ 账户渠道:{{ accountStore.profile.providerInfo.displayName }}
+
@@ -447,6 +465,8 @@ onMounted(async () => {
+
+