{{ t('login.option.items.forget') }}
-
- Gitee登录
-
-
- GitHub登录
-
(() => [
{
diff --git a/src/views/loginWindow/QRCode.vue b/src/views/loginWindow/QRCode.vue
index 7f92ca03..54aeffaf 100644
--- a/src/views/loginWindow/QRCode.vue
+++ b/src/views/loginWindow/QRCode.vue
@@ -4,11 +4,11 @@
-
+
-
+
+
+
+
+
+
-
+
{{ t('login.qr.actions.account_login') }}
@@ -76,12 +81,14 @@ import { storeToRefs } from 'pinia'
import { useI18n } from 'vue-i18n'
import { useWindow } from '@/hooks/useWindow.ts'
import router from '@/router'
+import { useLogin } from '@/hooks/useLogin'
import { getEnhancedFingerprint } from '@/services/fingerprint'
import { loginCommand } from '@/services/tauriCommand'
import { TauriCommand } from '@/enums'
import { useGlobalStore } from '@/stores/global'
import { useSettingStore } from '@/stores/setting'
import { checkQRStatus, generateQRCode } from '@/utils/ImRequestUtils'
+import ThirdPartyLogin, { type ThirdPartyLoginContext } from './ThirdPartyLogin.vue'
const globalStore = useGlobalStore()
const settingStore = useSettingStore()
@@ -120,6 +127,16 @@ const scanStatusText = computed(() =>
scanStatus.value.textKey ? t(`login.qr.overlay.${scanStatus.value.textKey}`) : ''
)
+// 第三方登录相关逻辑
+const { giteeLogin, githubLogin, loading: loginLoading, loginDisabled } = useLogin()
+const loginContext: ThirdPartyLoginContext = {
+ giteeLogin,
+ githubLogin,
+ loading: loginLoading,
+ loginDisabled
+}
+const thirdPartyExtraDisabled = computed(() => loading.value)
+
/** 刷新二维码 */
const refreshQRCode = () => {
if (scanStatus.value.status !== 'error' && scanStatus.value.status !== 'auth') {
diff --git a/src/views/loginWindow/ThirdPartyLogin.vue b/src/views/loginWindow/ThirdPartyLogin.vue
new file mode 100644
index 00000000..8d50b8c1
--- /dev/null
+++ b/src/views/loginWindow/ThirdPartyLogin.vue
@@ -0,0 +1,76 @@
+
+
+
+ {{ thirdPartyLabel }}
+
+
+
+
+
+