index.vue
1.1 KB
<template>
<PageWrapper
title="登录过期示例"
content="用户登录过期示例,不再跳转登录页,直接生成页面覆盖当前页面,方便保持过期前的用户状态!"
>
<a-button type="primary" @click="test">点击触发用户登录过期</a-button>
</PageWrapper>
</template>
<script lang="ts">
import { defineComponent } from 'vue';
import { PageWrapper } from '/@/components/Page';
import { useUserStore } from '/@/store/modules/user';
import { sessionTimeoutApi } from '/@/api/demo/account';
export default defineComponent({
name: 'TestSessionTimeout',
components: { PageWrapper },
setup() {
const userStore = useUserStore();
async function test() {
// 示例网站生产环境用得是mock数据,所以不能返回401,
// 所以在生产环境直接改变状态来达到测试效果
if (import.meta.env.PROD) {
userStore.setToken(undefined);
userStore.setSessionTimeout(true);
} else {
await sessionTimeoutApi();
}
}
return { test };
},
});
</script>