背景
在使用 Vue + Element UI 开发后台管理系统时,通常需要在请求头中携带 Token 进行身份认证。Element UI 的默认模板使用 X-Token 作为请求头,但后端可能要求使用其他字段名(如 token 或 Authorization)。
本文记录如何自定义请求头 Token 字段名,以及开发过程中遇到的一些常见问题。
1. 自定义请求头 Token
修改 src/utils/request.js 文件中的拦截器配置:
1 | import store from '@/store' |
说明:
store.getters.token从 Vuex 中获取当前用户的 Tokenconfig.headers['token']设置请求头字段名为token- 如果后端要求 Bearer Token,可以改为:
config.headers['Authorization'] = 'Bearer ' + getToken()
2. ESLint 缩进错误解决
在修改代码时,ESLint 可能会报缩进错误:
1 | Expected indentation of 4 spaces but found 6 |
解决方案: 在 .eslintrc.js 的 rules 中添加:
1 | rules: { |
3. 修改响应码判断
Element UI 模板默认使用 20000 作为成功码,如果后端返回的是标准 HTTP 状态码 200,需要修改:
1 | // src/utils/request.js |
4. 跨域问题
如果前端和后端不在同一个域名下,会遇到跨域问题。
开发环境解决方案: 配置 Vue CLI 代理
1 | // vue.config.js |
生产环境解决方案: 由后端配置 CORS 响应头
1 | Access-Control-Allow-Origin: https://your-frontend.com |
总结
| 问题 | 解决方案 |
|---|---|
| 自定义 Token 字段名 | 修改 config.headers['token'] |
| ESLint 缩进报错 | 关闭 indent 规则 |
| 响应码不匹配 | 修改成功码判断条件 |
| 跨域问题 | 开发环境用代理,生产环境用 CORS |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 OOM实验室!
评论




