Commit Graph

4 Commits

Author SHA1 Message Date
c9fb224936 refactor: 优化401/403错误处理逻辑,更符合常理
核心改进:
- 401错误:先尝试刷新token,刷新成功则标记后返回null交由上层重试
- 403错误:直接跳转到登录页
- 移除无用的options和httpClient参数
- 简化层次:client.js(清理) -> http.js(业务) -> AuthService(刷新)

具体变更:
1. client.js: handle401Error()只清空token,不处理重定向
2. http.js:
   - 401优先尝试刷新,失败才跳转登录页
   - 403直接跳转登录页
3. AuthService.js:
   - 刷新成功:标记error._handled=true, error._tokenRefreshed=true,返回null
   - 刷新失败:调用回调后抛出错误,交由上层处理跳转
   - 移除options和httpClient参数

逻辑更清晰:client清理token -> http处理逻辑 -> AuthService刷新token,职责分明

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-25 01:03:20 +08:00
fb6d18b4f5 feat: 重构HTTP客户端架构和认证系统
核心改进:
- HTTP客户端:工厂函数模式,支持自定义拦截器和401/403处理
- 认证服务:函数式实现,消除this绑定问题,支持业务码+HTTP状态码双通道
- Token管理:简化为直接实例导出,移除bind()和箭头函数包装
- 路由守卫:优化逻辑,移除冗余代码,更简洁易维护

技术亮点:
- 统一401/403错误处理(业务code和HTTP status双检查)
- 自动刷新token并重试请求,保留自定义拦截器
- 分层清晰:clientAxios (Mono) -> http (应用) -> AuthService
- 支持扩展:业务代码可创建自定义HTTP实例并添加拦截器

文件变更:
- 新增 AuthService.js (函数式) 和 Login.vue
- 重构 http.js、token-manager.js、router/index.js
- 删除 TokenInput.vue、utils/auth.js 等冗余文件
- 更新所有API调用点使用直接实例导入

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-25 00:58:51 +08:00
cea43dd635 混剪功能 2025-11-24 23:51:22 +08:00
c35a2219c9 feat: 功能优化 2025-11-22 21:45:15 +08:00