wangjia
|
31ea370cea
|
fix(backend): JWT config mapstructure tag 修复 + 模型从 hotel 重构为 shop
- 修复 JWTConfig 缺少 mapstructure tag 导致 access_expire_min 解析为 0,
token 签发即过期,所有 API 请求返回 401
- 全部 config struct 补齐 mapstructure tag(secret/dsn/hmac_secret 等)
- 模型层从 hotel/HotelID 统一重命名为 shop/ShopID
- 删除旧 migrations(001-004),新增 001_init 综合迁移文件
- 更新 schema.sql、testutil、handler/service/model 相关引用
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-04-07 22:20:12 +08:00 |
|
wangjia
|
37112d6599
|
feat(client): 登录历史下拉、macOS 兼容修复、UI 优化
- 替换 flutter_secure_storage 为 shared_preferences,解决 macOS Keychain 签名报错
- 登录页门店编号/用户名支持历史下拉(最多5条,LRU 淘汰),使用 Overlay + CompositedTransformFollower 实现浮层
- logout 仅删除 auth token,保留登录历史
- AppShell 时钟抽为独立 _ClockWidget,避免每秒 setState 导致 TabBarView 叠影
- ShellRoute 子路由改用 NoTransitionPage,消除切换页面时的过渡动画叠影
- 新增 auth_state_test、auth_repository_test、login_screen_test 共 14 个单元/Widget 测试
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-04-05 01:21:40 +08:00 |
|
wangjia
|
cc687ae0c3
|
feat(client): 登录模块对接后端 API
- auth_state: 增加 refreshToken 字段 + flutter_secure_storage 持久化
- api_client: 增加 401 自动 refresh + retry 拦截器
- auth_repository: 封装 POST /api/v1/auth/login 调用,错误信息本地化
- login_screen: 增加门店编号字段,调真实 API,行内错误展示
- main: 启动时 restore 持久化登录态,避免每次重启都要重新登录
- 修复 app_shell: hotelName → hotelNo
- 修复 widget_test: 移除失效的占位测试
测试账号:门店编号 H001 / 用户名 admin / 密码 password123
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-04-04 23:18:57 +08:00 |
|
wangjia
|
7849f6e7e5
|
chore: 添加 macOS/Web 平台支持 + 修复编译错误 + 开发环境文档
- 修复 CardTheme → CardThemeData(Flutter 3.41 API 变更)
- 修复 finance_screen 缺少 FormDialog import
- 修复工具栏 Row overflow(添加横向滚动)
- flutter create --platforms=macos,web 生成平台配置
- 添加 docs/dev-setup.md:完整开发环境配置指南
含 Go/Flutter/Docker 安装、已知 macOS 26 兼容问题及解决方案
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-04-04 13:36:39 +08:00 |
|
wangjia
|
76ab19ea47
|
feat(client): 初版 Flutter UI 框架,仿照参考截图实现
- 蓝色顶栏(#1565C0)+ 深蓝侧边栏(#0D47A1),含折叠/展开
- 底部状态栏:门店编号、登录用户、登录时间、实时时钟、版本号
- 登录页:居中卡片,支持密码显示/隐藏
- 入库单列表:筛选/搜索/日期选择/分页,三个 Tab(入库单/查询/审核)
- 新建入库单:基本信息 + 商品明细动态增删,实时计算合计金额
- 出库单列表:同入库单风格
- 库存查询:4 张统计卡片 + 颜色高亮缺货/预警行,库存预警 Tab
- 往来单位、财务、商品、系统设置(用户/仓库/编号规则/系统参数)
- 使用 Riverpod 状态管理 + go_router 路由 + Dio HTTP
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-04-04 12:51:41 +08:00 |
|
wangjia
|
d6397083c0
|
feat(agents): 新增 UI 设计师 Agent + Figma MCP + 设计存档 Skills
UI 设计师 Agent (.claude/agents/ui-designer.md):
- 自动判断设计复杂度
- 简单变更:直接输出文字规范,flutter-coder 立即实现
- 复杂设计:输出 Figma 设计需求文档并暂停,等用户确认设计稿
- 包含完整视觉规范(颜色、字体、间距、状态标签)
Figma MCP 配置 (.mcp.json):
- 接入 Figma 官方 MCP Server (https://mcp.figma.com/mcp)
- 支持读取设计文件、组件、Token
Skills (.claude/skills/):
- /archive-design:将确认上线的设计存档到 docs/design/archive/
含 Figma 链接、设计决策、组件清单、版本历史
- /design-review:对比 Figma 设计稿与 Flutter 实现,输出还原度报告
标注颜色/间距/布局差异,分必须修复和建议调整两级
更新 CLAUDE.md:
- 工作流中加入 ui-designer(架构后、编码前)
- 上线前运行 /design-review,上线后运行 /archive-design
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-04-04 09:20:58 +08:00 |
|
wangjia
|
f8524bfa3f
|
feat(agents): 多 Agent 协作体系
新增 10 个专职 Agent 定义文件(.claude/agents/):
- requirements-analyst: 需求分析,输出用户故事和验收标准
- architect: 技术方案设计,模块划分和接口定义
- api-designer: RESTful API 规范,混合格式文档
- db-designer: MySQL 表设计和迁移脚本
- backend-coder: Go 后端实现,严格分层架构
- flutter-coder: Flutter 跨端 UI 实现
- test-engineer: 自动化测试,只写测试不改业务代码
- linter: 代码风格检查和自动修复
- code-reviewer: 代码质量审查,输出审查报告
- security-auditor: 安全漏洞扫描,重点多租户隔离
- devops: Dockerfile 和 CI/CD 流水线
- sre: 故障诊断和运维 Runbook
- doc-writer: API 文档和用户手册
新增 CLAUDE.md Orchestrator 规则:
- 自动判断任务类型并选择 Agent 组合
- 并行/串行调度规则(api+db 并行,backend+flutter 并行)
- Agent 边界规则(每个 Agent 只能写自己职责范围的文件)
- 文件传递 + 短链式反馈的混合通信协议
- Git 提交规范和质量门禁
新增 docs/context/project.md:
- 所有 Agent 的共享项目上下文
- 技术栈、目录结构、核心业务规则、已实现接口列表
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-04-04 08:47:36 +08:00 |
|
wangjia
|
7a09d1537c
|
test: 后端自动化测试套件
Service 单元测试(SQLite in-memory):
- auth: 登录成功/失败/禁用账号,token 刷新
- stock: 入库审核、出库审核(含库存不足)、单号生成
- license: 激活、设备绑定验证、过期检测
Handler 集成测试(httptest + SQLite):
- auth: 登录 API 成功/401 场景
- product: CRUD 完整流程 + hotel_id 隔离验证
- stock_in: 创建→提交→审核完整流程
- stock_out: 完整流程 + 库存不足 400
- inventory: 库存查询/过滤/盘点创建
- warehouse: CRUD
覆盖率:service 90.4%,handler 56.1%
共 50 个测试用例,全部 PASS
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-04-04 07:24:14 +08:00 |
|
wangjia
|
0e42f0e417
|
init: 后端框架脚手架 (Go + Gin + GORM + MySQL)
- 项目目录结构:backend/ deploy/ schema/ migrations/
- 数据库 Schema:所有建表 SQL,含 hotel_id 多租户隔离
- Go 后端:config、model、handler、service、middleware、router
- 认证:账号密码登录 + JWT(Access + Refresh Token)
- 许可证:HMAC-SHA256 激活码生成 + 设备绑定验证
- 业务模块:商品、仓库、往来单位、入库、出库、库存、盘点
- 库存事务:入库/出库审核时原子更新库存 + 流水记录
- 数据导入:Excel/CSV 批量导入商品、往来单位
- Docker Compose:本地 MySQL + Adminer
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-04-04 01:24:53 +08:00 |
|