创建third-party-login.ts文件
import {
ElLoading } from "element-plus";
enum LoginType {
Apple = "apple",
Google = "google",
Facebook = "facebook",
}
const globalWindow: any = window;
const loginWithSocialMedia = async (type: LoginType): Promise<any> => {
const loading = ElLoading.service({
lock: true });
try {
switch (type) {
case LoginType.Apple:
return await loginWithApple();
case LoginType.Google:
return await loginWithGoogle();
case LoginType.Facebook:
return await loginWithFacebook();
default:
throw new Error("Unsupported login type");
}
} catch (error) {
throw error;
} finally {
loading.close