feat: api visit auth

This commit is contained in:
zy7y
2022-09-13 13:31:15 +08:00
parent fc1acab2d5
commit 9ce271d691
15 changed files with 170 additions and 109 deletions

View File

@@ -12,6 +12,14 @@ export const userStore = defineStore('user', () => {
// getter
const accessToken = computed(() => 'Bearer ' + token.value)
// setup store 不提供$reset 需要自己重置
// https://github.com/vuejs/pinia/issues/1056
const $reset = () => {
token.value = ""
userInfo.value = {}
userMenus.value = []
}
// 非setup语法时的actions
const loginAction = async (data) => {
@@ -34,7 +42,8 @@ export const userStore = defineStore('user', () => {
ElMessage.success("登录成功.")
}
return { token, accessToken, userInfo, userMenus, loginAction }
return { token, accessToken, userInfo, userMenus,
$reset, loginAction }
}, {
persist: true, // 解决pinia刷新时数据丢失问题
})

View File

@@ -1,5 +1,12 @@
<script setup>
import router from '@/router';
import { userStore } from '@/stores/user';
const store = userStore()
const logout = () => {
store.$reset()
router.push('/login')
}
</script>
<template>
@@ -7,7 +14,9 @@
<el-container>
<el-aside width="200px">Aside</el-aside>
<el-container>
<el-header>Header</el-header>
<el-header>Header <el-button @click="logout">
注销
</el-button></el-header>
<el-main>Main</el-main>
<el-footer>Footer</el-footer>
</el-container>