Browse Source

加入头部cookie

master
maochaoying 2 years ago
parent
commit
8e8364a6d2
  1. 2
      src/pages/Login.vue
  2. 11
      src/service/request.js
  3. 32
      src/utils/cookie.js

2
src/pages/Login.vue

@ -100,6 +100,7 @@ import { MessagePlugin } from 'tdesign-vue-next'
import { loginApi } from '@/api/login'
import { useAccountStore } from '@/store'
import { storeToRefs } from 'pinia'
import Cookie from '@/utils/cookie'
const accountStore = useAccountStore()
const router = useRouter()
const formData = ref({
@ -117,6 +118,7 @@ const onSubmit = async ({ validateResult, firstError }) => {
// tokenstore
accountStore.updateToken(res?.data?.token)
accountStore.updateUsername(res?.data?.username)
Cookie.setCookie('t', res?.data?.token)
router.push('/')
} else {
MessagePlugin.error({ content: '请输入正确的用户名和密码!' })

11
src/service/request.js

@ -1,5 +1,5 @@
import axios from 'axios'
import Cookie from '@/utils/cookie'
class Request {
// axios 实例
instance
@ -28,7 +28,14 @@ class Request {
this.interceptorsObj = config.interceptors
// 拦截器执行顺序 接口请求 -> 实例请求 -> 全局请求 -> 实例响应 -> 全局响应 -> 接口响应
this.instance.interceptors.request.use(
res => res,
config => {
const token = Cookie.getCookie('t') || null
config.headers['Content-Type'] = 'application/json;charset=utf-8'
if (token) {
config.headers['Authorization'] = token
}
return config
},
err => err,
)

32
src/utils/cookie.js

@ -0,0 +1,32 @@
// 设置cookie
function setCookie(name, value, iDay = 1) {
var oDate = new Date()
oDate.setDate(oDate.getDate() + iDay)
document.cookie = name + '=' + value + ';expires=' + oDate
}
// 获取cookie
function getCookie(name) {
var arr = document.cookie.split('; ')
for (var i = 0; i < arr.length; i++) {
var arr2 = arr[i].split('=')
if (arr2[0] == name) {
return arr2[1]
}
}
return ''
}
// 移除cookie
function removeCookie(name) {
setCookie(name, 1, -1)
}
//清除所有cookie函数
function clearAllCookie() {
var keys = document.cookie.match(/[^ =;]+(?=\=)/g)
if (keys) {
for (var i = keys.length; i--; )
document.cookie = keys[i] + '=0;expires=' + new Date(0).toUTCString()
}
}
export default { setCookie, getCookie, removeCookie, clearAllCookie }
Loading…
Cancel
Save