Merge branch 'master' of https://gitee.com/lvYeJu/lane-crawford-3
This commit is contained in:
@@ -40,3 +40,10 @@ export const checkLoginStatus = (): Promise<ApiResponse<LoginResponse>> => {
|
|||||||
meta: { responseAll: true }
|
meta: { responseAll: true }
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export const LogOut = (): Promise<ApiResponse> => {
|
||||||
|
return request({
|
||||||
|
url: '/api/auth/logout',
|
||||||
|
method: 'get'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|||||||
@@ -1,10 +1,8 @@
|
|||||||
import axios from 'axios'
|
import axios from 'axios'
|
||||||
import { showToast, showNotify, showConfirmDialog, closeToast } from 'vant'
|
import { showToast, showNotify, showConfirmDialog, closeToast } from 'vant'
|
||||||
import { useUserInfoStore } from '@/stores/modules/userInfo'
|
|
||||||
const store = useUserInfoStore()
|
|
||||||
import { getLocal } from '@/utils/local'
|
import { getLocal } from '@/utils/local'
|
||||||
import router from '@/router/index'
|
import router from '@/router/index'
|
||||||
import { useOverallStore, useGenerateStore } from '@/stores'
|
import { useOverallStore, useGenerateStore, useUserInfoStore } from '@/stores'
|
||||||
|
|
||||||
// 扩展 AxiosRequestConfig 接口
|
// 扩展 AxiosRequestConfig 接口
|
||||||
declare module 'axios' {
|
declare module 'axios' {
|
||||||
@@ -47,8 +45,9 @@ service.interceptors.request.use(
|
|||||||
}
|
}
|
||||||
// 如果登录了,有token,则请求携带token
|
// 如果登录了,有token,则请求携带token
|
||||||
// Do something before request is sent
|
// Do something before request is sent
|
||||||
if (store.state.token) {
|
const token = useUserInfoStore().state.token
|
||||||
config.headers.Authorization = getLocal('token') // 让每个请求携带token--['X-Token']为自定义key 请根据实际情况自行修改
|
if (token) {
|
||||||
|
config.headers.Authorization = token // 让每个请求携带token--['X-Token']为自定义key 请根据实际情况自行修改
|
||||||
// config.headers['X-Token'] = getLocal('token') // 让每个请求携带token--['X-Token']为自定义key 请根据实际情况自行修改
|
// config.headers['X-Token'] = getLocal('token') // 让每个请求携带token--['X-Token']为自定义key 请根据实际情况自行修改
|
||||||
}
|
}
|
||||||
return config
|
return config
|
||||||
@@ -100,6 +99,7 @@ service.interceptors.response.use(
|
|||||||
},
|
},
|
||||||
(error) => {
|
(error) => {
|
||||||
if(error?.response){
|
if(error?.response){
|
||||||
|
if (error.config?.loading) closeLoading() // 关闭loading
|
||||||
if(error?.response?.status === 401){//如果是记录浏览器页面就不跳转login
|
if(error?.response?.status === 401){//如果是记录浏览器页面就不跳转login
|
||||||
// showConfirmDialog({
|
// showConfirmDialog({
|
||||||
// title: '确定登出',
|
// title: '确定登出',
|
||||||
@@ -120,10 +120,6 @@ service.interceptors.response.use(
|
|||||||
return Promise.reject(false)
|
return Promise.reject(false)
|
||||||
}
|
}
|
||||||
error.config && removePending(error.config)
|
error.config && removePending(error.config)
|
||||||
// 关闭loading
|
|
||||||
if (error.config?.loading) {
|
|
||||||
closeLoading()
|
|
||||||
}
|
|
||||||
console.log('err' + error) // for debug
|
console.log('err' + error) // for debug
|
||||||
showToast({
|
showToast({
|
||||||
message: error.message,
|
message: error.message,
|
||||||
|
|||||||
@@ -3,11 +3,15 @@
|
|||||||
import HeaderTitle from '@/components/HeaderTitle.vue'
|
import HeaderTitle from '@/components/HeaderTitle.vue'
|
||||||
import FooterNavigation from '@/components/FooterNavigation.vue'
|
import FooterNavigation from '@/components/FooterNavigation.vue'
|
||||||
import router from '@/router'
|
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 emit = defineEmits(['view-type'])
|
||||||
const form = reactive({
|
const form = reactive({
|
||||||
name: { edit: false, msg: '', value: 'Momo Fashion' },
|
name: { edit: false, msg: '', value: userInfoStore.state.userInfo.username },
|
||||||
email: { edit: false, msg: '', value: 'xxx@gmail.com' },
|
email: { edit: false, msg: '', value: userInfoStore.state.userInfo.email },
|
||||||
password: { show: false, edit: false, msg: '', value: '1234556' }
|
password: { show: false, edit: false, msg: '', value: userInfoStore.state.userInfo.password }
|
||||||
})
|
})
|
||||||
|
|
||||||
const onEditItem = (item) => {
|
const onEditItem = (item) => {
|
||||||
@@ -19,7 +23,19 @@
|
|||||||
form[item].edit = false
|
form[item].edit = false
|
||||||
}
|
}
|
||||||
const logout = () => {
|
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>
|
</script>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user