364e688382
主要改动: backend 业务: - feat(error-codes): 统一错误码表 E1011/E1012 拆码 - E1011 AUTH_PASSWORD_WRONG: 本地密码错误 - E1012 AUTH_FIRST_LOGIN_PASSWORD_REQUIRED: 首次登录请先设置密码 - E1015 AUTH_OLD_PASSWORD_REQUIRED: 改密需要旧密码 - E1016 AUTH_OLD_PASSWORD_WRONG: 旧密码错误 - fix(agents): P0 降级放行时,如坐席已注册但未设密码,正确 raise 1012 (修复前会撞 1011 本地密码错误,与场景不符) - feat(approval): 审批模块 (T审批/A审批) - feat(config): approval_template_resource / approval_template_device 配置 - feat(main): /ready, /metrics, /version 端点(K8s 友好) backend 测试: - test(agents): 新增 test_agents.py — 3 个 Fix-4 降级登录测试 - 错误密码拒绝 - 缺密码拒绝 - 正确密码通过 pytest tests/test_agents.py → 3/3 通过 - test(conftest): 模块级 mock + slowapi 限流重置 + UTF-8 patch 解决 Windows pytest GBK 读 .env 失败 + 降级路径无法测试 仓库治理: - chore(gitignore): 排除 .workbuddy/memory/(workbuddy 本地记忆) - chore(docs): 重命名两份 IT 文档(前缀加智能区分版本) 部署与文档: - docs: RELEASE_NOTES_v0.5.0-beta.md / dashboard.html / 需求-发版预览页面 - docs: 部署、架构、PRD、安全、评审报告等同步 v0.5.0-beta - deploy-server: 打包脚本、nginx、docker-compose 版本号 bump 前端 (frontend-h5 / frontend-agent / frontend-admin / frontend-portal): - index.html / package.json 版本号与构建号 bump 自动验收(RELEASE_NOTES L100-104): - [x] pytest tests/test_agents.py -v → 3 passed - [x] grep Bs7ucT backend frontend-h5 frontend-agent → 无输出 - [x] grep AppException(101[123]) backend → 仅 1 处(登录场景 1012) - [ ] npm run build (frontend-h5 / frontend-agent) → 合并后跑 后续: 合并 feature/t-1-t4-merge → main,tag v0.5.0-beta
141 lines
2.5 KiB
Plaintext
141 lines
2.5 KiB
Plaintext
# Python
|
|
__pycache__/
|
|
*.py[cod]
|
|
*$py.class
|
|
*.egg-info/
|
|
dist/
|
|
build/
|
|
.venv/
|
|
venv/
|
|
.eggs/
|
|
|
|
# 环境变量
|
|
.env
|
|
.env.local
|
|
.env.*
|
|
|
|
# IDE
|
|
.vscode/
|
|
.idea/
|
|
*.swp
|
|
*.swo
|
|
|
|
# 系统
|
|
.DS_Store
|
|
Thumbs.db
|
|
|
|
# Node
|
|
node_modules/
|
|
npm-debug.log*
|
|
yarn-debug.log*
|
|
yarn-error.log*
|
|
|
|
# 前端构建
|
|
frontend-agent/dist/
|
|
frontend-h5/dist/
|
|
|
|
# 日志
|
|
*.log
|
|
logs/
|
|
|
|
# Docker
|
|
*.pid
|
|
*.seed
|
|
*.pid.lock
|
|
|
|
# =============================================================================
|
|
# P0 安全: SSL 私钥 / 部署包 / 历史日志 (2026-06-14 强化)
|
|
# =============================================================================
|
|
|
|
# SSL 私钥 + 证书请求
|
|
*.key
|
|
*.pem
|
|
*.csr
|
|
|
|
# docs/ 下所有 servyou.com.cn 证书(目录 + 文件 + zip 全部,** 匹配任意深度)
|
|
docs/servyou.com.cn**
|
|
docs/*证书*/
|
|
docs/*ssl*/
|
|
docs/*SSL*/
|
|
docs/*证书*.zip
|
|
/docs/*证书*.zip
|
|
|
|
# 部署包 + 部署产物(体积大 + 经常含私钥)
|
|
deploy-*.tar
|
|
deploy-*.tar.gz
|
|
deploy-packages/
|
|
deploy-patch.tar
|
|
deploy-admin.tar
|
|
deploy-agent.tar
|
|
deploy-backend.tar
|
|
deploy-h5.tar
|
|
deploy-portal.tar
|
|
*.tar
|
|
*.tar.gz
|
|
|
|
# 历史日志 + 构建日志(stderr 噪声)
|
|
*.log.err
|
|
build_logs/
|
|
agent_build.log.err
|
|
build-agent.log.err
|
|
build-agent2.log.err
|
|
build-h5.log.err
|
|
build-h5-fix.log.err
|
|
build_all.log.err
|
|
|
|
# 本地部署脚本 + 部署目录
|
|
build.ps1
|
|
build_all.ps1
|
|
deploy-frontend-nas.bat
|
|
deploy-nas/
|
|
|
|
# 部署产物 zip(体积大 + 含 dist)
|
|
frontend-*-dist-fix*.zip
|
|
frontend-*-dist-fix-*.zip
|
|
it-smart-desk-*-deploy.zip
|
|
|
|
# deploy-server/ 部署配置(nginx conf 入仓, .env 排除)
|
|
deploy-server/**/.env*
|
|
deploy-server/**/secrets/
|
|
deploy-server/**/*.pem
|
|
deploy-server/**/*.key
|
|
|
|
# SQLite 本地测试库
|
|
it_smart_desk.db
|
|
*.db
|
|
*.sqlite
|
|
*.sqlite3
|
|
|
|
# pytest / 临时
|
|
.pytest_cache/
|
|
/tmp/
|
|
*.pid
|
|
.coverage
|
|
htmlcov/
|
|
|
|
# 本地开发脚本 + 临时文件(2026-06-14 强化)
|
|
dev-start.bat
|
|
dev-start.ps1
|
|
start-backend.ps1
|
|
temp_*.txt
|
|
temp_*.py
|
|
wecom-it-desk-nas.zip
|
|
wecom-it-desk-server-deploy.zip
|
|
|
|
# =============================================================================
|
|
# P0 安全: workbuddy 凭据(2026-06-14 强化)
|
|
# =============================================================================
|
|
# workbuddy config 含 Gitea access token,绝对不入仓
|
|
# 类比 .git/config: 工作目录可写,但 git add . 时排除
|
|
.workbuddy/config.json
|
|
.workbuddy/config.local.json
|
|
.workbuddy/*.token
|
|
.workbuddy/credentials*
|
|
.workbuddy/.env*
|
|
# workbuddy 临时日志(评审/任务跑批的中间产物)
|
|
.workbuddy/logs/
|
|
.workbuddy/*.log
|
|
.workbuddy/*.log.err
|
|
# workbuddy 记忆目录(个人上下文,不 入仓)
|
|
.workbuddy/memory/
|