|
|
|
|
@ -19,6 +19,8 @@ import infiniteScroll from 'vue3-infinite-scroll-better'
|
|
|
|
|
import v3ImgPreview from 'v3-img-preview'
|
|
|
|
|
import 'mavon-editor/dist/css/index.css'
|
|
|
|
|
import api from './api/api'
|
|
|
|
|
import axios from 'axios'
|
|
|
|
|
import { useUserStore } from '@/stores/user'
|
|
|
|
|
|
|
|
|
|
const pinia = createPinia()
|
|
|
|
|
pinia.use(piniaPluginPersistedstate)
|
|
|
|
|
@ -33,6 +35,54 @@ export const app = createApp(App)
|
|
|
|
|
loading: require('@/assets/default-cover.jpg'),
|
|
|
|
|
error: require('@/assets/default-cover.jpg')
|
|
|
|
|
})
|
|
|
|
|
const userStore = useUserStore()
|
|
|
|
|
axios.interceptors.request.use((config: any) => {
|
|
|
|
|
config.headers['Authorization'] = 'Bearer ' + sessionStorage.getItem('token')
|
|
|
|
|
return config
|
|
|
|
|
})
|
|
|
|
|
axios.interceptors.response.use(
|
|
|
|
|
(response) => {
|
|
|
|
|
if (response.data.flag) {
|
|
|
|
|
return response
|
|
|
|
|
}
|
|
|
|
|
switch (response.data.code) {
|
|
|
|
|
case 50000: {
|
|
|
|
|
app.config.globalProperties.$notify({
|
|
|
|
|
title: 'Error',
|
|
|
|
|
message: '系统异常',
|
|
|
|
|
type: 'error'
|
|
|
|
|
})
|
|
|
|
|
break
|
|
|
|
|
}
|
|
|
|
|
case 40001: {
|
|
|
|
|
app.config.globalProperties.$notify({
|
|
|
|
|
title: 'Error',
|
|
|
|
|
message: '用户未登录',
|
|
|
|
|
type: 'error'
|
|
|
|
|
})
|
|
|
|
|
if (userStore.userInfo !== '') {
|
|
|
|
|
userStore.userInfo = ''
|
|
|
|
|
userStore.token = ''
|
|
|
|
|
userStore.accessArticles = []
|
|
|
|
|
sessionStorage.removeItem('token')
|
|
|
|
|
}
|
|
|
|
|
break
|
|
|
|
|
}
|
|
|
|
|
default: {
|
|
|
|
|
app.config.globalProperties.$notify({
|
|
|
|
|
title: 'Error',
|
|
|
|
|
message: response.data.message,
|
|
|
|
|
type: 'error'
|
|
|
|
|
})
|
|
|
|
|
break
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return response
|
|
|
|
|
},
|
|
|
|
|
(error) => {
|
|
|
|
|
return Promise.reject(error)
|
|
|
|
|
}
|
|
|
|
|
)
|
|
|
|
|
components.forEach((component) => {
|
|
|
|
|
app.component(component.name, component)
|
|
|
|
|
})
|
|
|
|
|
|