核心改进: - 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>
15 lines
634 B
JSON
15 lines
634 B
JSON
{
|
|
"permissions": {
|
|
"allow": [
|
|
"Bash(find:*)",
|
|
"Bash(mvn:*)",
|
|
"Bash(node -e \"\ntry {\n const tokenManager = require(''./src/@gold/utils/token-manager.js'');\n console.log(''✅ Default import works:'', typeof tokenManager.getToken);\n \n const { getAccessToken, getDevToken } = require(''./src/@gold/utils/token-manager.js'');\n console.log(''✅ Named import works:'', typeof getAccessToken, typeof getDevToken);\n} catch (e) {\n console.error(''❌ Import failed:'', e.message);\n}\n\")",
|
|
"Bash(cat:*)",
|
|
"Bash(node -e:*)",
|
|
"Bash(git add:*)"
|
|
],
|
|
"deny": [],
|
|
"ask": []
|
|
}
|
|
}
|