Commit Graph

24 Commits

Author SHA1 Message Date
joey5628 24a25dcbd1 feat(web): 输入控件与按钮放大、设置卡片收窄加阴影、设置页增加取消按钮
- 主题 components:Input/Select/InputNumber/DatePicker/Button 文本
  16px、高度 40px(小号按钮 32px);表格/菜单等正文保持 14px
- 设置卡片 max-width 720→560px,四周柔和阴影
- 修改密码页保存按钮右侧、修改资料页重置按钮右侧增加取消按钮,
  点击回首页
2026-09-03 22:13:11 +08:00
joey5628 5bf5f80b34 fix(web): 必填表单项恢复 Label 前红色星号
店铺创建/编辑弹窗与个人资料、修改密码表单误设了
requiredMark={false},必填项没有必填标识。移除该属性恢复
antd 默认必填星号(可选字段不受影响)。
2026-09-03 22:04:05 +08:00
joey5628 46d40b184b feat(web): 店铺必填项拦截纯空格输入,API Key 放宽到契约上限
- 店铺名称/Client ID/API Key 的 required 规则加 whitespace: true,
  与服务端 trim 后非空校验对齐
- API Key 输入 maxLength 200 → 8192(packages/contracts 契约上限),
  避免误拦较长的真实平台密钥
- 浏览器实测:空提交与纯空格提交均展示四条必填错误且不发请求,
  正常填写创建成功
2026-09-03 22:00:33 +08:00
joey5628 446baf5939 feat(web): 店铺管理页与页头平台选择器接入真实 API
- 页头平台选择器:PlatformProvider 加载平台目录与平台上下文
  (X-Atlas-Platform-Id header),平台 id 仅作为非敏感 UI 偏好存
  localStorage,默认取目录第一家(Ozon 优先)
- 店铺管理页覆盖 docs/api/stores-and-platforms.md 已实现接口:
  游标分页列表、创建(202+operation)、编辑(If-Match 乐观锁、
  409 刷新提示)、设为默认、重新验证凭据、仓库同步(422 脱敏
  错误展示)、软删除(DEFAULT_STORE_REPLACEMENT_REQUIRED 提示)
- services/api.ts 新增 getList(保留 {data, meta} 分页信封)与
  apiErrorCode;services/stores.ts 按契约生成 Idempotency-Key
- @atlas/contracts 补充只读响应类型 Platform / PlatformContext /
  CursorPaginationMeta / StoreOperationResponse(无行为变更)
- API Key 仅存在于提交瞬间的内存表单,不落任何存储
- 浏览器实测:注册→平台切换→创建/编辑/设默认/删除保护/同步
  错误路径→刷新会话恢复全部通过;typecheck + production build 通过
2026-09-03 21:40:02 +08:00
joey5628 8655b7805f fix(api): stores 控制器显式 @Inject 服务依赖
tsx/esbuild 不生成 design:paramtypes 装饰器元数据,裸类型构造参数在
dev 运行时注入 undefined,GET /api/platforms 返回 500。改为与
auth.controller.ts 一致的显式 @Inject(...)。

跨领域改动说明:前端联调平台上下文时发现该阻断性 bug,修复方式
沿用仓库既有模式,不影响服务层(原本即显式 token 注入)。
2026-09-03 21:39:53 +08:00
R524809 3ab999d0b2 Merge branch 'feat-0.2.0' into zcode/frontend 2026-09-03 17:12:51 +08:00
R524809 cc61967e3b feat(web-auth): 前端修改资料、修改密码优化 2026-09-03 17:12:36 +08:00
R524809 dc39e3e4e5 chore(package): 添加清楚端口占用的快捷命令 2026-09-03 17:11:44 +08:00
R524809 2d435143ab Merge branch 'feat-0.2.0' into zcode/frontend 2026-09-03 16:57:04 +08:00
R524809 06a3a4da75 feat(web): 开发账户修改、密码修改功能 2026-09-03 16:56:53 +08:00
R524809 a5b89ddb1d feat(api): 账户资料与密码安全 2026-09-03 16:56:20 +08:00
R524809 46d98ab11e feat(merge): 合入主分支 2026-09-03 16:10:15 +08:00
R524809 ffa86f8d55 feat(web): 登录、注册功能 2026-09-03 16:06:13 +08:00
R524809 ada02e9135 feat(api): 开发平台、门店相关代码 2026-09-03 16:04:44 +08:00
R524809 35fcf8776e feat: 合并主分支后端代码 2026-09-03 13:16:08 +08:00
R524809 df40ddde8c feat(web): 初始化前端项目 2026-09-03 13:11:38 +08:00
R524809 037928c778 feat(api): 开发auth、login等接口,规范格式化 2026-09-03 13:11:06 +08:00
R524809 195b6d25e9 docs: add mandatory AI collaboration contract 2026-09-03 09:19:29 +08:00
joey5628 403f6cfa27 feat(web): 搭建应用骨架并完善开发环境配置 2026-09-02 22:42:21 +08:00
R524809 09e5207c83 docs: 更新初始化交接文档 2026-09-02 17:56:42 +08:00
R524809 1a2caba2b3 feat: 初始化项目 2026-09-02 17:47:25 +08:00
R524809 04c94e75db feat: 方案设计、数据库和接口设计基本完成 2026-09-02 14:47:18 +08:00
joey5628 a3fe066a5f feat: 采集插件需求和方案 2026-09-01 23:14:38 +08:00
R524809 5b77ba72b5 feat: 初始化项目,项目需求、方案文档 2026-09-01 17:35:48 +08:00