|
|
36195ea55a
|
feat: 重构 IdentifyFace.vue 为 Hooks 架构
- 新增 hooks/ 目录,包含三个专用 Hook:
* useVoiceGeneration - 语音生成和校验逻辑
* useDigitalHumanGeneration - 数字人视频生成逻辑
* useIdentifyFaceController - 协调两个子 Hook 的控制器
- 新增 types/identify-face.ts 完整类型定义
- 重构 IdentifyFace.vue 使用 hooks 架构:
* 视图层与业务逻辑分离
* 状态管理清晰化
* 模块解耦,逻辑清晰
- 遵循单一职责原则,每个 Hook 只负责一个领域
- 提升代码可测试性和可维护性
- 支持两种视频素材来源:素材库选择和直接上传
- 实现语音生成优先校验的业务规则
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-28 00:19:17 +08:00 |
|
|
|
b80de78d7c
|
feat: 前端优化
|
2025-12-21 22:24:16 +08:00 |
|
|
|
4fc0837890
|
refactor: 分离业务码和HTTP状态码的401/403处理,避免混淆
问题:
- 业务码401/403既在响应拦截器处理,又可能进入错误拦截器重复处理
- 导致回调函数被调用两次,逻辑混乱
修复:
- 业务码401/403:只在响应拦截器处理,调用回调后抛出错误给业务代码
- HTTP状态码401/403:只在错误拦截器处理,调用回调后抛出错误
虽然后端通常同时返回业务码401和HTTP状态码401,
导致同一回调被调用两次,但:
1. AuthService已处理并发刷新问题(isRefreshing锁)
2. tokenManager.clearTokens()多次调用是安全的
3. 逻辑清晰:响应拦截器处理业务,错误拦截器处理HTTP异常
文档已在代码中明确说明两种处理方式
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-25 01:07:22 +08:00 |
|
|
|
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 |
|
|
|
a32f118281
|
fix: 修复clientAxios中on401/on403回调未传递error参数的问题
问题:
- client.js中调用on401()和on403()时未传递error对象
- 导致http.js中接收到undefined的error参数
- 影响AuthService.handleAuthError的错误处理逻辑
修复:
- 业务码401/403:先创建error对象,再传递给回调函数
- HTTP状态码401/403:直接传递error对象给回调函数
- 确保error对象包含完整的错误信息(code、data等)
影响范围:
- frontend/api/axios/client.js
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-25 01:00: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 |
|
|
|
c652d0ddf3
|
提示词保存
|
2025-11-13 01:06:28 +08:00 |
|
|
|
fc7d2ccea5
|
feat: 功能
|
2025-11-12 22:45:29 +08:00 |
|