职位ID:158993

仿一个vue权限管理框架

  • 合作方式:
  • 项目制 全国远程
  • 预估日薪:
  • 500
  • 预估总价:
  • 500元
  • 预估工时:
  • 1天
  • 所在区域:
  • 全国远程

需求描述

功能迁移(现有的一个element vue前端项目,修改样式antd pro )
需求:登录页面、权限管理、路由、状态管理 :
axios 封装的核心网络请求模块,主要用于处理 HTTP 请求、拦截器逻辑、身份认证和错误处理。请求拦截器 (Request Interceptor)
在请求发送前,拦截器主要负责 注入身份凭证 和 多租户信息 :
- 租户隔离 :
config.headers['tenantId'] = 
store.getters.tenantid
自动在 Header 中携带 tenantId ,确保后端能识别当前操作所属的租户。
- 多重认证支持 :
该模块同时支持多种认证方式,体现了系统的灵活性:
1. 自定义 Token : 如果 store 中存在 token ,通过 X-Token 头部传递。
2. Identity Server (OIDC) : 如果开启了 Identity 模式 ( useServerConfStore().isIdentity ),会异步获取用户 user 对象并注入 Authorization: Bearer ... 。
3. 应用级 Token : 检查 store.state.app.authorization ,如果存在则同样注入 Bearer Token。 3. 响应拦截器 (Response Interceptor)
响应拦截器分为两个阶段处理:
A. HTTP 状态码为 200 (成功响应) 后端虽然返回 HTTP 200,但业务逻辑可能包含错误,通过 res.code 判断:
- res.code === 200 : 请求成功,直接返回数据 res 。
- res.code === 50014 (Token 过期) :
- 触发 ElMessageBox 弹窗提示用户。
- 用户确认后调用 store.dispatch('FedLogOut') 登出并刷新页面。
- 其他错误码 : 使用 ElMessage.error 显示后端返回的错误信息,并 reject Promise。
B. HTTP 状态码非 200 (网络/系统错误) 主要处理 HTTP 层面错误,重点是 401 Unauthorized :
- 401 处理逻辑 :
1. 检查是否存在 refresh_token 。
2. 如果没有 refresh_token ,且不在登录页,则:
- 记录当前 URL 用于登录后重定向。
- 跳转至 /login 。
- 清除本地 Token。
- 显示错误消息。
- 通用错误 : 对于其他网络错误(如超时、500 等),直接显示错误提示。

投递职位 已有55人投递,发布人 点此登录 后查看。

信用行为

  • 发布项目
    5
  • 订单总数
    2
  • 退款单数
    0

完善简历

工程师完善技术能力和项目经验,更易接到订单

发布任务

企业点击发布任务,工程师会在任务下报名,招聘专员也会在1小时内与您联系,1小时内精准确定人才

微信客服

需求方请加需求方端客服沟通需求,工程师请加工程师端客服浏览推送职位

需求方端客服
工程师端客服
联系需求方端客服