Commit Graph

43 Commits

Author SHA1 Message Date
iven
8de1bd366a docs: 实时体征采集探讨记录
Some checks failed
CI / rust-check (push) Has been cancelled
CI / rust-test (push) Has been cancelled
CI / frontend-build (push) Has been cancelled
CI / security-audit (push) Has been cancelled
记录从技术纵深 → 实时数据管道 → 医疗 IoT →
健康手环 BLE 采集的完整讨论过程和关键技术决策。
2026-04-26 22:15:12 +08:00
iven
29b19a90f6 docs: 实时体征采集与智能告警系统设计规格
健康手环 BLE 采集 → REST API 批量提交 → 降采样 Pipeline →
规则引擎告警 → SSE 实时推送的完整闭环设计。
覆盖数据模型(分区表+降采样+告警规则)、
小程序 BLE 适配器抽象、三层告警引擎、
SSE 推送扩展,分三阶段实施。
2026-04-26 22:14:34 +08:00
iven
7ab57ea1b2 fix(health): PII 加密安全审计修复 — 2 Critical + 6 Medium + 4 Low
Some checks failed
CI / rust-check (push) Has been cancelled
CI / rust-test (push) Has been cancelled
CI / frontend-build (push) Has been cancelled
CI / security-audit (push) Has been cancelled
审计发现 55 检查点,46 PASS / 7 WARN / 2 FAIL,修复内容:

Critical:
- C1: 密钥轮换端点现在持久化新 DEK 到 tenant_crypto_keys 表
- C2: CachedDek 实现 Drop trait,释放时清零密钥材料

Medium:
- M1: 密文格式添加版本前缀 0x01,向后兼容旧格式
- M2: HMAC 索引使用独立子密钥,与加密 KEK 分离
- M4: 脱敏函数使用 chars() 迭代器,UTF-8 安全
- M5-M6: 医生执业证号详情响应脱敏 (mask_license_number)

Low:
- L1: dek_manager 改为 pub(crate),暴露 invalidate_dek() 方法
- L3: 合并 patient 列表搜索中冗余的重复 HMAC 计算
- L4: update_family_member/update_doctor 更新时设置 key_version
2026-04-26 13:34:25 +08:00
iven
a0b72b0f73 feat: Iteration 1 — 审计日志IP记录、文件上传、医护端API、小程序角色切换
Some checks failed
CI / rust-check (push) Has been cancelled
CI / rust-test (push) Has been cancelled
CI / frontend-build (push) Has been cancelled
CI / security-audit (push) Has been cancelled
Iteration 1 六项任务全部完成:

1. 审计日志IP记录 — task_local RequestInfo 自动注入 IP/user_agent
2. 文件上传服务 — multipart 上传 + ServeDir 静态文件服务
3. 医护端后端API — 医生工作台仪表盘 + 患者标签CRUD + 会话已读
4. 小程序角色切换 — 登录后根据角色跳转医护台/患者首页
5. 小程序安全加固 — secure-storage 开发模式警告
6. 讨论记录归档 — docs/discussions/
2026-04-26 13:13:25 +08:00
iven
17b423b9b8 feat(health): 内容管理模块 — 审核/分类/标签/富文本编辑器
Some checks failed
CI / rust-check (push) Has been cancelled
CI / rust-test (push) Has been cancelled
CI / frontend-build (push) Has been cancelled
CI / security-audit (push) Has been cancelled
后端:
- 文章审核状态机:draft → pending_review → published(含 reject/unpublish)
- 文章分类 CRUD(article_category entity + service + handler)
- 文章标签 CRUD(article_tag + article_article_tag 关联)
- 文章修订版快照(article_revision)
- 阅读计数、排序、slug、审核备注
- 新增 health.articles.review 权限

前端:
- ArticleManageList:状态标签页 + 分类筛选 + 关键字搜索 + 审核操作
- ArticleEditor:Wangeditor 富文本编辑器 + 元数据侧栏
- ArticleCategoryManage:分类 CRUD + 父子层级
- ArticleTagManage:标签 CRUD

修复:
- diagnosis_service/health_data_service/dialysis_service: 补充 key_version 字段
- ArticleCategoryManage: 补充 Select 组件导入
2026-04-26 12:51:30 +08:00
iven
44e15cd1d1 docs(health): 健康模块业务改进实施计划
Some checks failed
CI / rust-check (push) Has been cancelled
CI / rust-test (push) Has been cancelled
CI / frontend-build (push) Has been cancelled
CI / security-audit (push) Has been cancelled
4 Phase / 28 改进项 / 17+ 新增实体 / 19+ 迁移文件
Phase 1 P0 可信度修复: Dashboard统计/事件发布/体征合并/异常预警/ICD-10/积分过期
Phase 2 P1 核心能力: 随访模板/用药记录/透析方案/体征扩展/消息推送/批量操作/WebSocket
Phase 3 P2 运营增强: Health Score/会员/资源/阈值/LOINC/排班模板/埋点
Phase 4 P3 路线图: 血管通路/风险评分/AI/表单/影像/合规/FHIR
2026-04-25 23:55:11 +08:00
iven
69dcb8fee7 docs(health): 修正业务分析报告中的数据不准确项
Some checks failed
CI / rust-check (push) Has been cancelled
CI / rust-test (push) Has been cancelled
CI / frontend-build (push) Has been cancelled
CI / security-audit (push) Has been cancelled
- 事件计数: 14 → 11 设计规格/9 实际发布
- 权限: 12 → 14 描述符 (7 组)
- Web 页面: 13 → 16
- vital_signs/daily_monitoring 重叠度: 80% → 91%
- 修正 message.sent 订阅评估(非功能缺失)
- 透析增加幽灵状态说明
- 修正附录引用路径
2026-04-25 23:28:31 +08:00
iven
78647d6cc4 docs(health): 健康管理模块业务流程合理性分析报告
三专家组(临床业务 + 运营管理 + 产品架构)并行深度审查,
覆盖患者全生命周期、医疗数据管理、预约排班、随访管理、
透析管理、咨询管理、临床决策支持、积分激励、多租户适配、
竞品对比等维度,发现 P0 问题 6 个、P1 缺失 8 个。
2026-04-25 23:22:14 +08:00
iven
eb79424305 docs(plan): 切片 3 小程序 AI 报告查看实施计划
Some checks failed
CI / rust-check (push) Has been cancelled
CI / rust-test (push) Has been cancelled
CI / frontend-build (push) Has been cancelled
CI / security-audit (push) Has been cancelled
6 个 Task,2 个 Chunk:
- Chunk 1: API service + 列表页 + 详情页(Taro/React)
- Chunk 2: 路由注册 + 首页入口 + 集成验证
2026-04-25 22:47:33 +08:00
iven
b27a2402fc docs(plan): 切片 2 AI 管理端 3 页面实施计划
Some checks failed
CI / rust-check (push) Has been cancelled
CI / rust-test (push) Has been cancelled
CI / frontend-build (push) Has been cancelled
CI / security-audit (push) Has been cancelled
10 个 Task,3 个 Chunk:
- Chunk 1: 后端 API 补全(PromptService/AnalysisService/UsageService/Handler)
- Chunk 2: 前端 API 封装(3 个 service 文件)
- Chunk 3: 前端 3 管理页面 + 菜单路由 + 集成验证
2026-04-25 22:42:29 +08:00
iven
a704ad7606 docs(plan): 切片 1 按钮级权限控制实施计划
Some checks failed
CI / rust-check (push) Has been cancelled
CI / rust-test (push) Has been cancelled
CI / frontend-build (push) Has been cancelled
CI / security-audit (push) Has been cancelled
18 个 Task,2 个 Chunk:
- Chunk 1: 权限基础设施(JWT 解码 + store + hook + 组件)
- Chunk 2: 健康模块 15 页面按钮改造 + 集成验证
2026-04-25 22:31:49 +08:00
iven
46089adbc6 docs(spec): 审查修正功能完善设计规格
Some checks failed
CI / rust-check (push) Has been cancelled
CI / rust-test (push) Has been cancelled
CI / frontend-build (push) Has been cancelled
CI / security-audit (push) Has been cancelled
修正审查发现的 CRITICAL/HIGH 问题:
- 后端 AI 端点空壳:标注需实现,新增 P0a-P0d 后端阶段
- 用户权限数据源缺失:新增 /auth/me/permissions 端点依赖
- 权限码映射修正:积分页面使用 health.points.*
- 组件路径修正:packages/ui-components → apps/web/src/components/
- 小程序路径调整:使用独立 ai-report/ 目录
- 菜单结构修正:扁平结构而非子菜单
- 补充版本回滚机制、安全降级、i18n 前缀约定
2026-04-25 20:30:22 +08:00
iven
d22ad6088a docs(wiki+spec): 项目全景分析 + 功能完善设计规格
Some checks failed
CI / rust-check (push) Has been cancelled
CI / rust-test (push) Has been cancelled
CI / frontend-build (push) Has been cancelled
CI / security-audit (push) Has been cancelled
- 新增 wiki/erp-ai.md (AI 模块知识库页面)
- 修正 wiki/index.md 数据不一致 (crate 数 16、迁移 55、模块含 ai)
- 更新 wiki/erp-server.md (7 模块注册)
- 新增功能完善设计规格 (按钮权限 + AI 3 页面 + 小程序报告)
2026-04-25 20:22:24 +08:00
iven
d5950a5179 docs(spec): 全渠道通知与实时架构设计
QA 审查发现的事件消费断裂、无实时推送、微信模板为空等问题。
5 Phase 交付: 通知分发器 → SSE → 微信推送 → WebSocket → HealthDataProvider。
2026-04-25 19:24:37 +08:00
iven
16c63925ce feat(health): V2 血透专科数据模型 — dialysis_record + lab_report 审阅流程
Some checks failed
CI / rust-check (push) Has been cancelled
CI / rust-test (push) Has been cancelled
CI / frontend-build (push) Has been cancelled
CI / security-audit (push) Has been cancelled
- 新增 dialysis_record 表和完整 CRUD API(透析日期/体重/血压/超滤量/透析类型/症状)
- ALTER lab_report 增加 source/status/reviewed_by/reviewed_at 字段
- 重命名 lab_report: indicators→items, doctor_interpretation→doctor_notes
- 新增透析记录审阅端点 PUT /dialysis-records/{id}/review
- 新增化验报告审阅端点 PUT /patients/{id}/lab-reports/{rid}/review
- 化验报告 items JSON 支持 V2 结构(name/value/unit/reference/is_abnormal)
- 迁移 m000051 含完整 up/down 回滚
- 94 个后端测试全部通过,API 全链路验证通过
2026-04-25 13:45:11 +08:00
iven
2963e7ce63 docs(ai): 实施计划 Chunk 6 (SSE Handler + 端到端验证 + 后续任务)
Some checks failed
CI / rust-check (push) Has been cancelled
CI / rust-test (push) Has been cancelled
CI / frontend-build (push) Has been cancelled
CI / security-audit (push) Has been cancelled
2026-04-25 13:41:23 +08:00
iven
41b17eedad docs(ai): 实施计划 Chunk 5 (Handler/State/Module + erp-server 集成) 2026-04-25 13:40:21 +08:00
iven
6158e79b9c docs(ai): 实施计划 Chunk 4 (AnalysisService 核心编排) 2026-04-25 13:39:26 +08:00
iven
956089bcc8 docs(ai): 实施计划 Chunk 3 (AI Provider + Claude SSE + 脱敏 + Prompt 引擎) 2026-04-25 12:46:55 +08:00
iven
ed8548563d docs(ai): 实施计划 Chunk 2 (数据库迁移 + SeaORM Entity) 2026-04-25 12:45:21 +08:00
iven
c6129d68fc docs(ai): erp-ai Phase 1 实施计划 — Chunk 1 (crate 骨架 + core 扩展) 2026-04-25 12:44:04 +08:00
iven
db626d27b8 docs(ai): 修复 spec 审查问题 — 路由模式/HealthDataProvider/AiState/缓存/权限
Some checks failed
CI / rust-check (push) Has been cancelled
CI / rust-test (push) Has been cancelled
CI / frontend-build (push) Has been cancelled
CI / security-audit (push) Has been cancelled
修复 2 CRITICAL + 4 HIGH + 3 MEDIUM:
- CRITICAL: 路由注册改为 public_routes/protected_routes 静态方法
- CRITICAL: 补全 HealthDataProvider trait + DTO 定义 + 注入机制
- HIGH: 修复 async_trait + impl Stream 不兼容 (改用 Pin<Box<dyn Stream>>)
- HIGH: 新增 AiConfig 配置段 + config.toml 定义
- HIGH: sanitized_input 改为 AES-256 加密 + 90 天自动清理
- HIGH: 新增 futures/tokio-stream/async-stream 依赖说明
- MEDIUM: 事件改为 DomainEvent 字符串模式
- MEDIUM: 权限码改为 .list/.manage 实体命名模式
- MEDIUM: 补全 AiState + FromRef 注入模式
- MEDIUM: 补全缓存设计 (Redis/键格式/TTL/Hash算法)
2026-04-25 12:34:34 +08:00
iven
9fabe39897 docs(ai): erp-ai 模块设计规格 — AI 智能分析流
Some checks failed
CI / rust-check (push) Has been cancelled
CI / rust-test (push) Has been cancelled
CI / frontend-build (push) Has been cancelled
CI / security-audit (push) Has been cancelled
新增 erp-ai 模块完整设计文档,涵盖:
- 模块架构(独立 crate,AiProvider trait 抽象)
- 请求驱动 SSE 流式管道 + 混合管道演进路线
- 数据脱敏与安全防护层
- Prompt 数据库管理 + 版本控制
- 4 种分析场景(化验单/趋势/方案/摘要)
- 3 张数据库表设计
- 4 Phase 扩展路线图
2026-04-25 12:29:00 +08:00
iven
07f4ba41ba fix(health): 穷尽审计修复 — 权限同步/编译错误/前端bug/审计日志
Some checks failed
CI / frontend-build (push) Has been cancelled
CI / rust-check (push) Has been cancelled
CI / rust-test (push) Has been cancelled
CI / security-audit (push) Has been cancelled
审计发现并修复的问题:

HIGH:
- H1: ConsultationDetail 使用 getSession(id) 替代错误的列表搜索
- H2: SessionResp 添加 version/updated_at 字段
- H3: 移除 FollowUpRecordList 调用不存在的导出端点
- H4: 新增 articles.ts 前端 API 模块

MEDIUM:
- M1: article delete 添加乐观锁 (expected_version)
- M2: 取消预约排班释放传播错误 (log::warn -> ?)
- M3: FollowUpTaskList 日期格式 Dayjs -> string
- M4: 补充 15 个缺失审计日志

LOW:
- L1: 替换 follow_up_service 中的 .unwrap()
- L2: PatientListItem 添加 version 字段

CRITICAL (新发现):
- 权限未同步: 健康模块 14 个权限从未写入数据库,添加启动时自动同步
- migration 表名错误: patients -> patient
- 编译错误: health_trend entity 未导入, ToPrimitive trait 未导入
- HealthError 缺少 From<AppError> 实现
2026-04-25 08:58:58 +08:00
iven
19be2a08c7 docs(miniprogram): 新增小程序迭代设计规格 + 25 Task 实施计划
Some checks failed
CI / security-audit (push) Has been cancelled
CI / rust-check (push) Has been cancelled
CI / rust-test (push) Has been cancelled
CI / frontend-build (push) Has been cancelled
设计规格:4 Sprint 混合策略(Sprint 0 修基础 → Sprint 1-3 模块打磨),
覆盖 18 个问题,含健康数据、预约挂号、报告详情、安全加固、增长基础。

实施计划:25 个 Task,4 个 Chunk,经 4 轮审查修复关键问题:
- Task 10 依赖后端 today 端点 status/reference_range 字段
- Task 14/15 补全 StepIndicator 连接线 + WeekCalendar 完整实现
- Task 21 request.ts Token 加密绕过修复
- Task 22 手机号解密前后端 API 契约明确(推荐 code 模式)
- Task 24 埋点补充核心页面手动调用
- Task 25 hooks 无条件调用修复
2026-04-24 12:08:13 +08:00
iven
9ef65b9a9f feat(health+miniprogram): 预约/报告/随访/资讯/家庭管理 — Chunk 4-6
Some checks failed
CI / rust-check (push) Has been cancelled
CI / rust-test (push) Has been cancelled
CI / frontend-build (push) Has been cancelled
CI / security-audit (push) Has been cancelled
后端:
- 添加 articles 表迁移 + Entity + Service + Handler
- 健康数据趋势 API (get_mini_trend) 注册路由
- article CRUD (list/get) + DTO

前端 (11个新页面 + 5个服务):
- 预约挂号: 列表/创建向导/详情页
- 报告管理: 列表/详情页
- 随访管理: 任务列表/记录详情页
- 资讯文章: 文章详情页
- 个人中心: 就诊人管理/新增/我的报告/我的随访/用药提醒/设置
- 更新 app.config.ts 注册全部路由
- 更新 profile/article 页面为真实功能
2026-04-24 00:58:40 +08:00
iven
ca50d32f6e feat(health): 添加 erp-health 健康管理模块骨架
Some checks failed
CI / rust-check (push) Has been cancelled
CI / rust-test (push) Has been cancelled
CI / frontend-build (push) Has been cancelled
CI / security-audit (push) Has been cancelled
新建 erp-health 原生 Rust crate,覆盖设计规格中定义的 5 大业务域:

- 16 个 SeaORM Entity(患者/家属/标签/医生/健康档案/体征/化验单/预约/排班/随访/咨询等)
- 16 表数据库迁移(含索引、外键、默认值、可回滚)
- 40+ API 路由骨架(患者管理/健康数据/预约排班/随访/咨询/医生管理)
- 12 个权限声明(health.patient/health-data/appointment/follow-up/consultation/doctor 各 .list/.manage)
- DTO / Service / Handler / Event 四层架构,Service 使用 todo!() 占位
- erp-server 集成:模块注册 + AppState FromRef 桥接 + 路由挂载

同步更新 CLAUDE.md 项目进度、wiki 知识库、设计规格文档。
2026-04-23 19:59:22 +08:00
iven
7e063a7e88 docs(plan): freelance/itops 插件增强实施计划 — P1-P6 六阶段
P1-P4 纯 plugin.toml(settings/trigger_events/cascade/visible_when/validation/templates)
P5 平台 manifest.rs + 前端 widgets 扩展
P6 两个插件仪表盘 widgets 声明
2026-04-20 07:14:30 +08:00
iven
bcc6662add docs(spec): 修复 spec 审查问题 — cascade/validation 标注为修改已有字段,dashboard 标注平台依赖
- CRITICAL: 明确 dashboard widgets 需要平台 manifest.rs 扩展
- HIGH: cascade/validation/visible_when 均改为"已有字段追加属性"
- HIGH: visible_when 提供完整 TOML 语法
- MEDIUM: 模板引擎说明(Handlebars)和关系解析机制
- MEDIUM: itops validation 补充字段上下文
- MEDIUM: itops dashboard 明确插入位置
2026-04-20 00:50:29 +08:00
iven
f4afc969bd docs(spec): 自由职业者/IT运维插件增强设计规格
三层增强方案:智能业务引擎 + 仪表盘重构 + 专业输出
纯插件层实现,无需修改平台代码
2026-04-20 00:43:34 +08:00
iven
fc76793d6d feat(freelance): 编译 WASM 并验证安装 — 10 实体/20 权限已创建 2026-04-19 23:59:03 +08:00
iven
841766b168 fix(用户管理): 修复用户列表页面加载失败问题
修复用户列表页面加载失败导致测试超时的问题,确保页面元素正确渲染
2026-04-19 08:46:28 +08:00
iven
2bd274b39a docs: 添加 Q4 测试覆盖 + 插件生态实施计划
15 个 Task 覆盖:Testcontainers 集成测试框架、Playwright E2E、
进销存插件(6实体/6页面)、插件热更新、Wiki 文档更新
2026-04-17 17:30:29 +08:00
iven
d6dc47ab6a docs: 添加 Q3 架构强化 + 前端体验实施计划
17 个 Task 覆盖:ErpModule trait 重构(自动化路由)、N+1 查询优化、
Error Boundary、5 个 hooks 提取、i18n 基础设施、行级数据权限接线
2026-04-17 17:28:02 +08:00
iven
5e89aef99f docs: 修订 Q2 实施计划 — 修复审查发现的 14 个问题
关键修正:
- AuditLog::new() 签名与代码库一致 (tenant_id, user_id, action, resource_type)
- with_changes() 参数为 Option<Value>,调用时需 Some() 包装
- 限流 fail-closed 使用 (StatusCode, Json) 元组模式
- 添加缺失的 Task 7.5: 登录租户解析 (X-Tenant-ID)
- Task 7 添加 assign_roles 到修复列表
- Task 10 明确所有 auth 函数签名变更需求
- Task 12 添加 import 和参数说明
- Task 14 添加 docker-compose.override.yml 开发端口恢复
- 统一环境变量名为 ERP__SUPER_ADMIN_PASSWORD
2026-04-17 17:02:03 +08:00
iven
9f85188886 docs: 添加 Q2 安全地基 + CI/CD 实施计划
14 个 Task 覆盖:密钥外部化、启动强制检查、多租户加固、
限流 fail-closed、审计日志补全、Gitea Actions CI/CD、Docker 生产化
2026-04-17 16:51:51 +08:00
iven
b6c4e14b58 docs: 修订成熟度路线图 — 修复规格审查发现的 15 个问题
关键修正:
- ErpModule trait 基于实际签名设计,使用双路由模式
- CI/CD 添加 checkout/cache 步骤
- 环境变量名与现有代码一致 (ERP__SUPER_ADMIN_PASSWORD)
- .test_token 标记为需 BFG 清理
- Q4 拆分为 Q4a(测试) + Q4b(插件)
- 热更新添加回滚策略
- 添加 Windows Testcontainers 兼容性风险
2026-04-17 16:07:37 +08:00
iven
432eb2f9f5 docs: 添加平台全面成熟度提升路线图设计规格
覆盖安全地基、架构强化、测试覆盖、插件生态四个维度,
按 Q2-Q4 三季度分层推进的全面改进计划。
2026-04-17 15:58:31 +08:00
iven
a7cf44cd46 docs: CRM 插件基座升级实施计划 — 4 Chunk 36 Task
Chunk 1: JSONB 存储优化 (Generated Column + pg_trgm + Keyset + Schema 缓存)
Chunk 2: 数据完整性框架 (ref_entity + 级联删除 + 字段校验 + 循环检测)
Chunk 3: 行级数据权限 (data_scope + TenantContext 扩展 + fallback 收紧)
Chunk 4: 前端页面能力增强 (entity_select + kanban + 批量操作 + 图表)
2026-04-17 09:57:58 +08:00
iven
d07e476898 docs(spec): 新增 CRM 插件基座升级设计规格 v1.1
6 专家组深度评审后的基座优先改进方案:
- JSONB 存储优化 (Generated Column + pg_trgm + Keyset Pagination)
- 数据完整性框架 (ref_entity + 级联策略 + 字段校验 + 循环引用检测)
- 行级数据权限 (self/department/department_tree/all 四级)
- 前端页面能力增强 (entity_select + kanban + 批量操作 + Dashboard 图表)
2026-04-17 03:13:07 +08:00
iven
ff352a4c24 feat(plugin): 集成 WASM 插件系统到主服务并修复链路问题
- 新增 erp-plugin crate:插件管理、WASM 运行时、动态表、数据 CRUD
- 新增前端插件管理页面(PluginAdmin/PluginCRUDPage)和 API 层
- 新增插件数据迁移(plugins/plugin_entities/plugin_event_subscriptions)
- 新增权限补充迁移(为已有租户补充 plugin.admin/plugin.list 权限)
- 修复 PluginAdmin 页面 InstallOutlined 图标不存在的崩溃问题
- 修复 settings 唯一索引迁移顺序错误(先去重再建索引)
- 更新 wiki 和 CLAUDE.md 反映插件系统集成状态
- 新增 dev.ps1 一键启动脚本
2026-04-15 23:32:02 +08:00
iven
e16c1a85d7 feat(web): comprehensive frontend performance and UI/UX optimization
Performance improvements:
- Vite build: manual chunks, terser minification, optimizeDeps
- API response caching with 5s TTL via axios interceptors
- React.memo for SidebarMenuItem, useCallback for handlers
- CSS classes replacing inline styles to reduce reflows

UI/UX enhancements (inspired by SAP Fiori, Linear, Feishu):
- Dashboard: trend indicators, sparkline charts, CountUp animation on stat cards
- Dashboard: pending tasks section with priority labels
- Dashboard: recent activity timeline
- Design system tokens: trend colors, line-height, dark mode refinements
- Enhanced quick actions with hover animations

Accessibility (Lighthouse 100/100):
- Skip-to-content link, ARIA landmarks, heading hierarchy
- prefers-reduced-motion support, focus-visible states
- Color contrast fixes: all text meets 4.5:1 ratio
- Keyboard navigation for stat cards and task items

SEO: meta theme-color, format-detection, robots.txt
2026-04-13 01:37:55 +08:00
iven
eb856b1d73 feat: 初始化ERP平台底座项目结构
- 添加基础crate结构(erp-core, erp-common)
- 实现核心模块trait和事件总线
- 配置Docker开发环境(PostgreSQL+Redis)
- 添加Tauri桌面端基础框架
- 设置CI/CD工作流
- 编写项目协作规范文档(CLAUDE.md)
2026-04-10 23:40:38 +08:00