소스 검색

解决token失效时个人信息未清除完全问题

dev
congzc 2 년 전
부모
커밋
a7fabf8cb0
4개의 변경된 파일19개의 추가작업 그리고 10개의 파일을 삭제
  1. +5
    -1
      src/layout/components/Navbar.vue
  2. +8
    -6
      src/store/modules/userInfo.js
  3. +0
    -1
      src/types/components.d.ts
  4. +6
    -2
      src/utils/request.js

+ 5
- 1
src/layout/components/Navbar.vue 파일 보기

@@ -16,7 +16,11 @@
<!--语言选择-->
<lang-select class="navItem" style="color: #ffffff" />

<div class="avatar" v-if="userInfoPinia.userInfo" @click="routerTo">
<div
class="avatar"
v-if="userInfoPinia.userInfo.avatarUrl"
@click="routerTo"
>
<img
:src="
userInfoPinia.userInfo.avatarUrl


+ 8
- 6
src/store/modules/userInfo.js 파일 보기

@@ -5,10 +5,10 @@ import {
} from "../../apis/myAccount";
export const userInfoModules = defineStore("userInfo", () => {
// state
const userInfo = ref(null)
function setEmail(params) {
email.value = params
}
const userInfo = ref({
avatarUrl: null
})
// 登录获取用户信息
async function getUserInfo() {
const res = await getUserInfoApi()
@@ -16,9 +16,11 @@ export const userInfoModules = defineStore("userInfo", () => {
}
// 退出清除用户信息
function loginOut(params) {
userInfo.value = null
userInfo.value = {
avatarUrl: null
}
}
return { userInfo, setEmail, getUserInfo, loginOut };
return { userInfo, getUserInfo, loginOut };
},
{
persist: true,

+ 0
- 1
src/types/components.d.ts 파일 보기

@@ -8,7 +8,6 @@ export {}
declare module '@vue/runtime-core' {
export interface GlobalComponents {
Breadcrumb: typeof import('./../components/Breadcrumb/index.vue')['default']
copy: typeof import('./../components/myLoading copy.vue')['default']
ElAlert: typeof import('element-plus/es')['ElAlert']
ElBreadcrumb: typeof import('element-plus/es')['ElBreadcrumb']
ElBreadcrumbItem: typeof import('element-plus/es')['ElBreadcrumbItem']


+ 6
- 2
src/utils/request.js 파일 보기

@@ -1,12 +1,16 @@
import axios from 'axios'
import router from '@/router/index'
import { ElMessage } from 'element-plus'
ElMessage

// ElMessage
import { userInfoModules } from "@/store/modules/userInfo";
// import stores from '@/store/index'
import { store } from '@/store/index'; // 因为不是在setup环境而是js中,必须重新初始化加载store
const userInfoPinia = userInfoModules(store); //pinia
// 开发环境需以 "/api" 拼接,其他环境需以 "/C" 拼接
const env = process.env.NODE_ENV == 'development' ? "/api" : "/C"
// console.log(process.env.NODE_ENV, 'env')


/**
* @description:发送Axios请求
*/


불러오는 중...
취소
저장