fix: 通过请求拦截来添加 Authorization Header

This commit is contained in:
xiongxiaoyang 2022-05-19 21:35:34 +08:00
parent a23a48eaf8
commit 9ae00b0902
2 changed files with 28 additions and 6 deletions

View File

@ -8,9 +8,8 @@
><a href="/">网站首页</a><i class="line">|</i ><a href="/">网站首页</a><i class="line">|</i
><a href="/about/default.html">关于我们</a><i class="line">|</i ><a href="/about/default.html">关于我们</a><i class="line">|</i
><a href="/about/contact.html">联系我们</a><i class="line">|</i ><a href="/about/contact.html">联系我们</a><i class="line">|</i
><router-link :to="{ name: 'feadBack' }" class="line" >反馈留言</router-link><i class="line">|</i ><a href="javascript:void(0)" @click="goFeedBack">反馈留言</a><i class="line">|</i><a href="/author/index.html">作家专区</a
><a href="/author/index.html">作家专区</a><i class="line">|</i ><i class="line">|</i><a href="/mobile/fiction_house.apk">客户端</a>
><a href="/mobile/fiction_house.apk">客户端</a>
</li> </li>
<li> <li>
Copyright (C) xiongxyang.gitee.io All rights Copyright (C) xiongxyang.gitee.io All rights
@ -23,8 +22,23 @@
</template> </template>
<script> <script>
import { useRouter } from "vue-router";
import { getToken } from "@/utils/auth";
export default { export default {
name: "Footer" name: "Footer",
setup() {
const router = useRouter();
const goFeedBack = () => {
if(!getToken()){
router.push({name: 'login'});
}else{
router.push({name: 'feadBack'});
}
};
return {
goFeedBack
}
},
}; };
</script> </script>

View File

@ -1,7 +1,7 @@
import axios from 'axios' import axios from 'axios'
import router from '@/router' import router from '@/router'
import { ElMessage } from 'element-plus' import { ElMessage } from 'element-plus'
import {getToken,removeToken, setToken} from '@/utils/auth' import {getToken,removeToken,removeNickName, setToken} from '@/utils/auth'
@ -9,9 +9,16 @@ axios.defaults.baseURL = process.env.VUE_APP_BASE_API_URL
axios.defaults.timeout = 10000 axios.defaults.timeout = 10000
axios.defaults.withCredentials = true axios.defaults.withCredentials = true
axios.defaults.headers['X-Requested-With'] = 'XMLHttpRequest' axios.defaults.headers['X-Requested-With'] = 'XMLHttpRequest'
axios.defaults.headers['Authorization'] = getToken() || ''
axios.defaults.headers.post['Content-Type'] = 'application/json' axios.defaults.headers.post['Content-Type'] = 'application/json'
axios.interceptors.request.use(config => {
config.headers['Authorization'] = getToken()
return config
}, error => {
console.log(error)
Promise.reject(error)
})
axios.interceptors.response.use(res => { axios.interceptors.response.use(res => {
if (typeof res.data !== 'object') { if (typeof res.data !== 'object') {
ElMessage.error('服务端异常!') ElMessage.error('服务端异常!')
@ -25,6 +32,7 @@ axios.interceptors.response.use(res => {
if (res.data.code == 'A0230') { if (res.data.code == 'A0230') {
// token // token
removeToken(); removeToken();
removeNickName();
router.push({ path: '/login' }) router.push({ path: '/login' })
} }