From 84981e7cc179994cde867238408f217896a360cc Mon Sep 17 00:00:00 2001 From: junleea <354425203@qq.com> Date: Mon, 28 Apr 2025 15:37:10 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0gitee=E7=99=BB=E5=BD=95?= =?UTF-8?q?=E5=8F=8A=E6=B7=BB=E5=8A=A0=E7=BB=91=E5=AE=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/assets/img/gitee_logo.png | Bin 0 -> 737 bytes src/assets/img/gitee_logo.svg | 17 ++++++++ src/assets/img/github-logo.png | Bin 0 -> 480 bytes src/views/pages/login.vue | 70 +++++++++++++++++++++++++++------ src/views/pages/ucenter.vue | 30 ++++++++++++-- 5 files changed, 101 insertions(+), 16 deletions(-) create mode 100644 src/assets/img/gitee_logo.png create mode 100644 src/assets/img/gitee_logo.svg create mode 100644 src/assets/img/github-logo.png diff --git a/src/assets/img/gitee_logo.png b/src/assets/img/gitee_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..9316273d8ce7e96b7821f6a8ffadb2be4cc4b15f GIT binary patch literal 737 zcmV<70v`Q|P)Px%n@L1LR7gvumP=?8Q51&%lZOQt#f8zTlSh+uVY02{v9TcH&PBBp9}7W5BPfP0 zx-!tNbm0RR#gz)ajdtV4h0t9mML|&8jmePaL8;lO6rqyL(VIHSWHL!6I=i{&pZ`1e z+;i_-LYGJOj_hYuJx+{+AcO(zVt@gx+kj8Zyx_3e(+3J)lukBe7RY#lA!beinCzB- zF7^QS+Dt5;&l~k^0NL$N05oUOSTFlYOy{Ge>?8eP3t&<5r-*3gAIuw{FmW`tq4_JF*-#HS) z5G}d`R|%Na2V4`!5V&!@K4i?SFDm#V$x`4g2#53^3UdJw&xiOJHcO@ce4FYQB)bD^ z0ERjNGM-=~q(RMSVu6i`Ft98DH2}6=0Dala0H&p6d=+a@CBWVb(5tIDtkt>zlnL0| z3n1bGqJIXX5lG3)-J0PeW!!-`3>>inFqTF?E3+9e=n2V^e;P#B`t2gI%SE?ovohNU zU^++dJR|-ptGP}9tNm%x&Q+(AcWOt)eE?@PGyOiW0$7Gt0>6R6bP8tTEjTe=BTDomp^hQ`4g+#+t`(0x=XW TwCG;!00000NkvXXu0mjf_iIAs literal 0 HcmV?d00001 diff --git a/src/assets/img/gitee_logo.svg b/src/assets/img/gitee_logo.svg new file mode 100644 index 0000000..af03316 --- /dev/null +++ b/src/assets/img/gitee_logo.svg @@ -0,0 +1,17 @@ + + + + logo + Created with Sketch. + + \ No newline at end of file diff --git a/src/assets/img/github-logo.png b/src/assets/img/github-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..fff325fb20dc62266517b0ad02c576009f6c49bc GIT binary patch literal 480 zcmV<60U!Q}P)Px$nn^@KR7gv`l}#%KQ54624_PRz*dQg!Ye^PX%0`sEmyOSWER;Q2i0`08`2bib zmU@&#EG(3l^0E-wNSHItJYDCx_s%n;+||sz=lp-?WzL-($!iSQa+nPQ2R@0M=kNk( zPv(afmq8F6Hd`0qyF_7aRs+15n;OssoMjY`-MWGE_(cP0XKgHgb4_sE&9w%y$R2^@8XUJ zpY^6XY!!g5vA+56C03+m14v_+Qj8(8EUO;4i=HK#PvAlI%BJJHeH%s7oY>bO(&|V>_B(-NU>_KDMCk&&16AVV z`X3wt{UtQn1t{p+?i?vkxe`zFYyD;Gay$eEQug2!=+RmGZp|{_CF)C329oiYt)xEz W5J>4R*@gH30000
- - 第三方登录 - + circle + > + + +
+ @@ -117,6 +131,8 @@ const rules = { }; // 表单引用 const login = ref(null); +const maxLoginRepeatRequest = 30; //最大请求次数 +const currentLoginRequest = ref(0); //当前请求次数 //表单数据 var loginData = ref({ @@ -139,7 +155,7 @@ const thirdLogin = async (type) => { return; } let result={}; - if(type !== "github" && type !== "qq") { + if(type !== "github" && type !== "qq" && type !== "gitee") { ElMessage.error("不支持的登录平台!请稍后再试:"+type); return; @@ -156,6 +172,12 @@ const thirdLogin = async (type) => { } //获取登录状态每2秒请求一次 let timer = setInterval(async () => { + currentLoginRequest.value++; + if (currentLoginRequest.value > maxLoginRepeatRequest) { + clearInterval(timer); + ElMessage.error("登录超时,请重新登录!"); + return; + } let statusResp = await getThirdPartyLoginStatus({uuid: uuid}); if (statusResp["code"] !== 0) { ElMessage.error("获取登录状态失败!请稍后再试"); @@ -318,4 +340,28 @@ const getMyUserInfo = async (id) => { font-size: 14px; color: #787878; } + +.login-text { + text-align: center; +} + +.login-btn { + width: 100%; + height: 40px; + line-height: 40px; + border-radius: 5px; + font-size: 16px; +} +.github-btn { + background-image: url(../../assets/img/github-logo.png) !important; +} + + +.gitee-btn { + background-image: url(../../assets/img/gitee_logo.png) !important; +} +.qq-btn { + background-image: url(https://wiki.connect.qq.com/wp-content/uploads/2016/12/Connect_logo_4.png); + +} diff --git a/src/views/pages/ucenter.vue b/src/views/pages/ucenter.vue index d528984..3e9c5b8 100644 --- a/src/views/pages/ucenter.vue +++ b/src/views/pages/ucenter.vue @@ -76,17 +76,31 @@ + 绑定

已绑定的第三方登录账号

@@ -139,6 +153,8 @@ const avatarImg = ref(''); const imgSrc = ref(''); const cropImg = ref(''); const cropper: any = ref(); +const maxLoginRepeatRequest = 30; //最大请求次数 +const currentLoginRequest = ref(0); //当前请求次数 const thirdPartyUserInfo = ref([]); @@ -363,7 +379,7 @@ const thirdLogin = async (type) => { return; } let result={}; - if(type !== "github" && type !== "qq") { + if(type !== "github" && type !== "qq" && type !== "gitee") { ElMessage.error("不支持的登录平台!请稍后再试:"+type); return; } @@ -379,6 +395,12 @@ const thirdLogin = async (type) => { } //获取登录状态每2秒请求一次 let timer = setInterval(async () => { + currentLoginRequest.value++; + if (currentLoginRequest.value > maxLoginRepeatRequest) { + clearInterval(timer); + ElMessage.error("登录超时,请重新登录!"); + return; + } let statusResp = await getThirdPartyLoginStatus({uuid: uuid}); if (statusResp["code"] !== 0) { ElMessage.error("获取登录状态失败!请稍后再试");