添加退出登录
This commit is contained in:
@@ -37,4 +37,11 @@ export const checkLoginStatus = (): Promise<ApiResponse<LoginResponse>> => {
|
||||
url: '/api/auth/checkLoginStatus',
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
export const LogOut = (): Promise<ApiResponse> => {
|
||||
return request({
|
||||
url: '/api/auth/logout',
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
@@ -1,10 +1,8 @@
|
||||
import axios from 'axios'
|
||||
import { showToast, showNotify, showConfirmDialog, closeToast } from 'vant'
|
||||
import { useUserInfoStore } from '@/stores/modules/userInfo'
|
||||
const store = useUserInfoStore()
|
||||
import { getLocal } from '@/utils/local'
|
||||
import router from '@/router/index'
|
||||
import { useOverallStore, useGenerateStore } from '@/stores'
|
||||
import { useOverallStore, useGenerateStore, useUserInfoStore } from '@/stores'
|
||||
|
||||
// 扩展 AxiosRequestConfig 接口
|
||||
declare module 'axios' {
|
||||
@@ -47,8 +45,9 @@ service.interceptors.request.use(
|
||||
}
|
||||
// 如果登录了,有token,则请求携带token
|
||||
// Do something before request is sent
|
||||
if (store.state.token) {
|
||||
config.headers.Authorization = getLocal('token') // 让每个请求携带token--['X-Token']为自定义key 请根据实际情况自行修改
|
||||
const token = useUserInfoStore().state.token
|
||||
if (token) {
|
||||
config.headers.Authorization = token // 让每个请求携带token--['X-Token']为自定义key 请根据实际情况自行修改
|
||||
// config.headers['X-Token'] = getLocal('token') // 让每个请求携带token--['X-Token']为自定义key 请根据实际情况自行修改
|
||||
}
|
||||
return config
|
||||
|
||||
@@ -3,11 +3,15 @@
|
||||
import HeaderTitle from '@/components/HeaderTitle.vue'
|
||||
import FooterNavigation from '@/components/FooterNavigation.vue'
|
||||
import router from '@/router'
|
||||
import { showConfirmDialog } from 'vant'
|
||||
import { useUserInfoStore } from '@/stores'
|
||||
import { LogOut } from '@/api/login'
|
||||
const userInfoStore = useUserInfoStore()
|
||||
const emit = defineEmits(['view-type'])
|
||||
const form = reactive({
|
||||
name: { edit: false, msg: '', value: 'Momo Fashion' },
|
||||
email: { edit: false, msg: '', value: 'xxx@gmail.com' },
|
||||
password: { show: false, edit: false, msg: '', value: '1234556' }
|
||||
name: { edit: false, msg: '', value: userInfoStore.state.userInfo.username },
|
||||
email: { edit: false, msg: '', value: userInfoStore.state.userInfo.email },
|
||||
password: { show: false, edit: false, msg: '', value: userInfoStore.state.userInfo.password }
|
||||
})
|
||||
|
||||
const onEditItem = (item) => {
|
||||
@@ -19,7 +23,19 @@
|
||||
form[item].edit = false
|
||||
}
|
||||
const logout = () => {
|
||||
router.push({ path: '/' })
|
||||
showConfirmDialog({
|
||||
title: 'Log out',
|
||||
message: 'Are you sure you want to log out?',
|
||||
confirmButtonText: 'Yes',
|
||||
cancelButtonText: 'Cancel'
|
||||
})
|
||||
.then(() => {
|
||||
LogOut().then(() => {
|
||||
userInfoStore.logOut()
|
||||
router.push({ path: '/welcome' })
|
||||
})
|
||||
})
|
||||
.catch(() => {})
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user