diff --git a/packages/ui/certd-client/src/store/user/index.ts b/packages/ui/certd-client/src/store/user/index.ts index dfe3ecf41..bbc760587 100644 --- a/packages/ui/certd-client/src/store/user/index.ts +++ b/packages/ui/certd-client/src/store/user/index.ts @@ -15,6 +15,7 @@ import { resetAllStores, useAccessStore } from "/@/vben/stores"; import { useUserStore as vbenUserStore } from "/@/vben/stores/modules/user"; import { request } from "/@/api/service"; +import { inviteUtils } from "/@/utils/util.invite"; interface UserState { userInfo: Nullable; @@ -66,6 +67,9 @@ export const useUserStore = defineStore({ }, async register(user: RegisterReq) { await UserApi.register(user); + if (user.inviteCode) { + inviteUtils.clear(); + } notification.success({ message: "注册成功,请登录", }); @@ -85,6 +89,9 @@ export const useUserStore = defineStore({ let loginRes: any = null; if (loginType === "sms") { loginRes = await UserApi.loginBySms(params as SmsLoginReq); + if ((params as SmsLoginReq).inviteCode) { + inviteUtils.clear(); + } } else { loginRes = await UserApi.login(params as LoginReq); } diff --git a/packages/ui/certd-client/src/utils/util.invite.ts b/packages/ui/certd-client/src/utils/util.invite.ts index 37c0cf5b6..8daa1c769 100644 --- a/packages/ui/certd-client/src/utils/util.invite.ts +++ b/packages/ui/certd-client/src/utils/util.invite.ts @@ -41,6 +41,10 @@ export const inviteUtils = { } }, + clear() { + localStorage.removeItem(INVITE_STORAGE_KEY); + }, + captureFromLocation() { const hashQuery = window.location.hash?.split("?")[1] || ""; const search = window.location.search?.replace(/^\?/, "") || ""; diff --git a/packages/ui/certd-client/src/views/framework/oauth/oauth-callback.vue b/packages/ui/certd-client/src/views/framework/oauth/oauth-callback.vue index 3500b85a9..99f78a99b 100644 --- a/packages/ui/certd-client/src/views/framework/oauth/oauth-callback.vue +++ b/packages/ui/certd-client/src/views/framework/oauth/oauth-callback.vue @@ -100,7 +100,11 @@ async function goBindUser() { async function autoRegister() { //自动注册账号 - const res = await api.AutoRegister(oauthType, bindCode.value, inviteUtils.get()); + const inviteCode = inviteUtils.get(); + const res = await api.AutoRegister(oauthType, bindCode.value, inviteCode); + if (inviteCode) { + inviteUtils.clear(); + } //登录成功 userStore.onLoginSuccess(res); //跳转到首页