diff --git a/src/components/user-center/DeviceList.vue b/src/components/user-center/DeviceList.vue
index 6476d7b..c581db0 100644
--- a/src/components/user-center/DeviceList.vue
+++ b/src/components/user-center/DeviceList.vue
@@ -25,10 +25,14 @@
diff --git a/src/pages/UserCenter/DesktopLayout/index.vue b/src/pages/UserCenter/DesktopLayout/index.vue
index d1c109d..ba7296d 100644
--- a/src/pages/UserCenter/DesktopLayout/index.vue
+++ b/src/pages/UserCenter/DesktopLayout/index.vue
@@ -12,7 +12,7 @@
-
+
@@ -78,7 +78,7 @@ const props = defineProps<{
selectedPlan: any
}>()
-const emit = defineEmits(['select-plan', 'pay'])
+const emit = defineEmits(['select-plan', 'pay', 'refresh'])
// --- Handlers ---
const handlePlanSelect = (id: string) => {
@@ -127,7 +127,6 @@ const expireDateInfo = computed(() => {
function logout() {
router.push('/')
localStorage.removeItem('Authorization')
- toast.success('退出成功')
}
diff --git a/src/pages/UserCenter/MobileLayout/index.vue b/src/pages/UserCenter/MobileLayout/index.vue
index cbbc58b..b4bf116 100644
--- a/src/pages/UserCenter/MobileLayout/index.vue
+++ b/src/pages/UserCenter/MobileLayout/index.vue
@@ -12,7 +12,7 @@
-
+
@@ -65,7 +65,7 @@ const props = defineProps<{
selectedPlan: any
}>()
-const emit = defineEmits(['select-plan', 'pay'])
+const emit = defineEmits(['select-plan', 'pay', 'refresh'])
// --- Handlers ---
const handlePlanSelect = (id: string) => {
@@ -114,7 +114,6 @@ const expireDateInfo = computed(() => {
function logout() {
router.push('/')
localStorage.removeItem('Authorization')
- toast.success('退出成功')
}
diff --git a/src/pages/UserCenter/index.vue b/src/pages/UserCenter/index.vue
index ef94ba1..5a05543 100644
--- a/src/pages/UserCenter/index.vue
+++ b/src/pages/UserCenter/index.vue
@@ -34,6 +34,7 @@
:selected-plan="activePlan"
@select-plan="handlePlanSelect"
@pay="handlePay"
+ @refresh="init"
/>
@@ -47,6 +48,7 @@
:selected-plan="activePlan"
@select-plan="handlePlanSelect"
@pay="handlePay"
+ @refresh="init"
/>
@@ -157,7 +159,6 @@ function init() {
// 用户信息 & 设备列表
request.get('/api/v1/public/user/info').then((res: any) => {
devices.value = res.user_devices
-
const emailInfo = res.auth_methods?.find((item: any) => item.auth_type === 'email')
if (emailInfo) {
userSubInfo.value.email = emailInfo.auth_identifier
diff --git a/src/router/index.ts b/src/router/index.ts
index 7bcbdd8..77e9f6b 100644
--- a/src/router/index.ts
+++ b/src/router/index.ts
@@ -21,4 +21,12 @@ const router = createRouter({
],
})
+router.beforeEach((to, _from, next) => {
+ if (to.path === '/user-center' && !localStorage.getItem('Authorization')) {
+ next({ path: '/', query: { login: 'true' } })
+ } else {
+ next()
+ }
+})
+
export default router
diff --git a/src/utils/request/core.ts b/src/utils/request/core.ts
index 8d3bc55..c0b8ccf 100644
--- a/src/utils/request/core.ts
+++ b/src/utils/request/core.ts
@@ -7,7 +7,7 @@ import { HiAesUtil } from './HiAesUtil.ts'
const encryptionKey = 'c0qhq99a-nq8h-ropg-wrlc-ezj4dlkxqpzx'
function redirectLogin() {
localStorage.removeItem('Authorization')
- router.push('/')
+ router.push({ path: '/', query: { login: 'true' } })
}
export interface ExtraConfig {
/**