diff --git a/yudao-ui-admin-vue3/src/api/login/index.ts b/yudao-ui-admin-vue3/src/api/login/index.ts index ad056157c..485d273c9 100644 --- a/yudao-ui-admin-vue3/src/api/login/index.ts +++ b/yudao-ui-admin-vue3/src/api/login/index.ts @@ -62,3 +62,10 @@ export const sendSmsCodeApi = (data: SmsCodeVO) => { export const smsLoginApi = (data: SmsLoginVO) => { return request.post({ url: '/system/auth/sms-login', data }) } + +// 社交授权的跳转 +export const socialAuthRedirectApi = (type: string, redirectUri: string) => { + return request.get({ + url: '/system/auth/social-auth-redirect?type=' + type + '&redirectUri=' + redirectUri + }) +} diff --git a/yudao-ui-admin-vue3/src/views/Login/components/LoginForm.vue b/yudao-ui-admin-vue3/src/views/Login/components/LoginForm.vue index 9bea00428..e65e0ca22 100644 --- a/yudao-ui-admin-vue3/src/views/Login/components/LoginForm.vue +++ b/yudao-ui-admin-vue3/src/views/Login/components/LoginForm.vue @@ -131,6 +131,17 @@ const getRoutes = async () => { permissionStore.setIsAddRouters(true) push({ path: redirect.value || permissionStore.addRouters[0].path }) } + +// 社交登录 +const doSocialLogin = async (type: string) => { + loginLoading.value = true + // 计算 redirectUri + const redirectUri = + location.origin + '/social-login?type=' + type + '&redirect=' + (redirect.value || '/') + // 进行跳转 + const res = await LoginApi.socialAuthRedirectApi(type, encodeURIComponent(redirectUri)) + window.open = res +} watch( () => currentRoute.value, (route: RouteLocationNormalizedLoaded) => { @@ -267,24 +278,28 @@ onMounted(async () => { :size="iconSize" class="cursor-pointer anticon" :color="iconColor" + @click="doSocialLogin('github')" />