bea288e414
== 已部署上线 (9项) == - 代办事项真实数据源集成 (企微审批API 8bug修复链) - H5/坐席端 Logo样式统一+绿色背景 - 视频引导页修复 (localStorage key v2) - 坐席端 v9 Vue版本修复 (ElMessage._context) - 截图按钮 v10 修复 (getDisplayMedia user gesture) - 扫码样式恢复+H5扫码登录跳转修复 - H5截图快捷键提示 == 代码完成待部署 (3项) == - 知识迭代3Bug修复 (#8 POST端点/#7 MERGE幂等/#6 过期检查) - 会议室预定-小鱼易联终端 (40文件, 40/40测试通过) - IT资产升级审批推送 (asset_service.py) == 需求文档 (2项) == - 坐席端AI辅助消息框-PRD (4项新功能确认) - 坐席端布局优化建议 v2.0 (7天计划) == 新增文档 == - 日报-2026-07-11.md - 知识迭代Bug修复报告-20260711.md - 会议室预定-部署指南.md - CHANGELOG.md 更新 == 测试 == - test_todo_integration.py: 40/40 - test_meetingroom.py: 40/40 - test_bugfix_ki_suggestions.py: 21/21
94 lines
2.6 KiB
Plaintext
94 lines
2.6 KiB
Plaintext
%% IT 智能服务台 — 架构组件图(卷挂载重构前后对比)
|
|
%% 文件: class-diagram.mermaid
|
|
|
|
classDiagram
|
|
class HostServer {
|
|
+String path: /opt/wecom-it-desk/
|
|
+String ip: 10.90.5.110
|
|
+String domain: itsupport.servyou.com.cn
|
|
}
|
|
|
|
class AppDirectory {
|
|
+String path: /opt/wecom-it-desk/app/
|
|
+String role: 唯一代码源
|
|
+List~File~ pythonFiles
|
|
+Boolean hasAuthPy
|
|
}
|
|
|
|
class BackendDirectory {
|
|
+String path: /opt/wecom-it-desk/backend/
|
|
+File dockerfile
|
|
+File requirementsTxt
|
|
+String note: 不再包含 app/ 子目录
|
|
}
|
|
|
|
class DockerImage {
|
|
+String name: wecom-it-desk-backend:latest
|
|
+String base: python:3.12-slim
|
|
+String pythonVersion: 3.12
|
|
+Boolean containsCode: false
|
|
+Boolean containsDeps: true
|
|
+String envPythondontWriteBytecode: "1"
|
|
}
|
|
|
|
class DockerContainer {
|
|
+String name: wecom_it_backend
|
|
+String workdir: /app
|
|
+String command: uvicorn app.main:app
|
|
+Integer port: 8000
|
|
+Boolean healthy
|
|
}
|
|
|
|
class VolumeMount {
|
|
+String hostPath: /opt/wecom-it-desk/app/
|
|
+String containerPath: /app/app/
|
|
+String type: bind
|
|
+String mode: rw
|
|
}
|
|
|
|
class UploadVolume {
|
|
+String name: backend-uploads
|
|
+String containerPath: /app/uploads/
|
|
+String type: named_volume
|
|
}
|
|
|
|
class LogMount {
|
|
+String hostPath: /var/log/wecom-it-desk/
|
|
+String containerPath: /app/logs/
|
|
+String type: bind
|
|
}
|
|
|
|
class DockerCompose {
|
|
+String file: docker-compose.yml
|
|
+String buildContext: ./backend
|
|
+List~Service~ services
|
|
}
|
|
|
|
class HealthCheck {
|
|
+String endpoint: /health
|
|
+Integer interval: 30
|
|
+Integer timeout: 10
|
|
+Integer retries: 3
|
|
+Integer startPeriod: 40
|
|
}
|
|
|
|
HostServer --> AppDirectory : contains
|
|
HostServer --> BackendDirectory : contains
|
|
HostServer --> DockerCompose : contains
|
|
|
|
DockerCompose --> DockerImage : builds
|
|
DockerCompose --> DockerContainer : runs
|
|
DockerCompose --> VolumeMount : configures
|
|
DockerCompose --> UploadVolume : configures
|
|
DockerCompose --> LogMount : configures
|
|
|
|
DockerImage --> DockerContainer : basis for
|
|
VolumeMount --> DockerContainer : mounts code to /app/app/
|
|
UploadVolume --> DockerContainer : mounts uploads to /app/uploads/
|
|
LogMount --> DockerContainer : mounts logs to /app/logs/
|
|
|
|
AppDirectory --> VolumeMount : source of
|
|
DockerContainer --> HealthCheck : monitored by
|
|
|
|
BackendDirectory --> DockerImage : provides Dockerfile + requirements.txt
|