114 Commits
Author SHA1 Message Date
yml2213 114dcdf7d8 优化:订单列表发货链接列固定在最右侧,滚动时保持可见 2026-08-14 14:28:20 +08:00
yml2213 b76d8dc257 功能:发货链接支持永久有效,默认 TTL=0
- DELIVERY_LINK_TTL_MINUTES 设为 0 或负数时链接永久有效(expires_at 存 NULL),
  默认值由 120 改为 0,本地 .env 同步改为永久
- 新增 delivery_link_generated_at 列区分从未生成与永久链接,兼容历史数据
- 永久链接授权仅校验 HMAC 签名、不校验过期(exp=0),作废/恢复语义不变
- 前端链接有效期列对永久链接显示"永久有效"
2026-08-14 14:26:06 +08:00
yml2213 11bce9c87e 优化:已交付订单保留复制/打开发货链接,去掉作废操作
- 已交付订单仍可复用未过期链接查看兑换结果,但不再生成/续期新链接
- 商户后台已交付订单仅显示复制/打开,已作废/已过期单独标识
- 发货中/已取消订单不展示链接操作,避免无效按钮
2026-08-14 13:19:27 +08:00
yml2213 99a33675b0 优化商户管理, 增加商户名重置密码等等 2026-08-14 13:09:56 +08:00
yml2213 ee3e427ab7 作废链接和取消订单 2026-08-14 12:58:20 +08:00
yml2213 33a30fcd99 修复:软删除账号可复用用户名 2026-08-13 14:40:22 +08:00
yml2213 91c055c130 功能:平台管理员删除商户账号 2026-08-13 14:35:30 +08:00
yml2213 a637101ca8 重构:移除环境变量管理员初始化 2026-08-13 14:21:22 +08:00
yml2213 538be52636 修复:管理员默认商户与账户设置 2026-08-13 14:12:25 +08:00
yml2213 6dae7fafa8 功能:恢复商户账号分组查看 2026-08-13 13:39:37 +08:00
yml2213 cfdc12cf94 优化:平台管理员账号独立管理 2026-08-13 13:31:06 +08:00
yml2213 c928c5b8e8 优化:按商户分组展示员工账号 2026-08-13 13:23:12 +08:00
yml2213 1f85add5e0 功能:优化账号分层与管理员初始化 2026-08-13 13:18:41 +08:00
yml2213 ac44fda08b 功能:增加订单搜索与状态筛选 2026-08-13 12:58:06 +08:00
yml2213 2b3a1b111b 功能:增加平台账号管理与管理员保护 2026-08-13 12:52:50 +08:00
yml2213 8c47b961e1 功能:完善登录安全与客服手动下单 2026-08-13 12:40:04 +08:00
yml2213 aea65a2fd3 feat: manage merchant members 2026-08-13 11:45:55 +08:00
yml2213 a4791decb0 feat: support merchant team roles and permissions 2026-08-13 11:41:34 +08:00
yml2213 6c98fa557e 增加文档 2026-08-11 16:23:55 +08:00
yml2213 b686a82e60 feat: add manual fulfillment order creation 2026-08-11 11:49:58 +08:00
yml2213 2264851d5d 拆分 service 与前端大文件,修复 CORS 配置与格式问题
- 后端 internal/service 按职责拆分:
  fulfillment.go(1397→527)拆出 wallet/timeout/data/order/query/dashboard/shipnotify
  delivery.go(1124→801)拆出 upstream/link/state/helpers
  merchant.go(855→251)拆出 member/product/api_client/catalog/helpers
- 前端 MerchantCenter.tsx(1327→606)拆出 merchantCenterTabs/merchantCenterUtils
- docker-compose backend 透传 CORS_ALLOWED_ORIGINS
- CORS 白名单实现(config/router/README/.env.example 配套)
- 修复 gofmt 与文件尾部多余空行
2026-08-05 13:32:11 +08:00
yml2213 569109cd92 修改常见默认端口 2026-08-04 15:34:34 +08:00
yml2213 68cf35b272 优化积分充值、余额告警、开放文档与面包屑层级路径 2026-08-04 14:39:45 +08:00
yml2213 16b508eb9b 商户管理优化, 商户只能上架下架, 管理员可以编辑 2026-08-04 14:35:53 +08:00
yml2213 6404b10626 优化api文档ui 2026-08-04 14:12:43 +08:00
yml2213 ca58c2bcaa 余额告警独立页面与多渠道通知:钉钉/飞书/企业微信/Bark,支持通知频率策略
- 告警设置拆分为独立页面,支持钉钉/飞书/企业微信/Bark/通用Webhook 多渠道
- 通知策略:低于阈值后按间隔重复提醒,达到最大次数停止,余额恢复自动重置
- 旧 webhook 配置自动迁移为通用渠道,渠道支持测试发送
- 优化告警话术:去商户ID展示、数字千分位格式化
2026-08-04 13:56:26 +08:00
yml2213 941e7ad79a 积分充值全流程落地:申请审核入账、凭证上传压缩转webp、管理员调账收权
- 新增积分充值申请与审核:商户提交充值申请(凭证图片必填,1元=100积分),
  管理员审核通过后事务内自动入账,幂等键防重复
- 新增通用图片上传组件 ImageUploader:canvas 压缩转 webp、预览、删除,
  后端按魔数校验图片格式并持久化到 data/uploads
- 管理员钱包调整改为按商户维度:移除商户侧调账接口,新增管理员
  平台商户积分调整与钱包流水查看
- 低余额 Webhook 告警配置持久化,充值入账/调账后自动检查推送
- 平台商户操作列移除进入/成员,积分充值页接入真实接口并修复金额单位换算
2026-08-04 13:03:29 +08:00
yml2213 54f05c15a4 实现侧边栏分组展开折叠状态持久化记忆 2026-08-04 11:27:40 +08:00
yml2213 aa2eac8d51 重构主导航栏父子菜单选中态与树形分支样式 2026-08-04 11:25:27 +08:00
yml2213 e6f09eaf14 优化商品列表表格列宽与上架配置面板 2026-08-04 11:16:54 +08:00
yml2213 71bdbf527c 优化积分明细与商户中心UI排版 2026-08-04 11:07:52 +08:00
yml2213 627d5cafa6 优化平台商户管理表格列宽分布 2026-08-04 11:05:01 +08:00
yml2213 c015def4cd 优化后台UI与开放文档排版设计 2026-08-04 11:01:52 +08:00
yml2213 ae9804e158 访问日志跳过 /health 健康检查,避免每 30 秒刷屏 2026-08-04 09:43:39 +08:00
yml2213 5f547546c3 日志按天分割并自动清理:app-YYYYMMDD.log,保留天数可配
- dailyFileWriter 按天轮转:跨天自动切换到新文件(app-20260804.log)
- LOG_RETAIN_DAYS 控制保留天数(默认 30),到期自动删除
- docker-compose 透传 LOG_RETAIN_DAYS,README 更新环境变量说明
- 补充轮转/清理单测
2026-08-04 09:42:20 +08:00
yml2213 90f4fb255e 容器 user 默认值调整为 1000:1000(与服务器一致) 2026-08-04 09:37:21 +08:00
yml2213 a3970bc5dc 后端容器以宿主用户运行,日志权限修复;移除未使用的 backend-data 卷 2026-08-04 09:32:53 +08:00
yml2213 d6b426ab2a 查询绑定结果增加预期账号比对:mismatch 提前拦截
- 下单 data 传了 game_account 时,bind-result 返回 expected_game_account 与 mismatch
- 绑定账号与预期不一致时 message 提示,配合 submit 已有的一致性校验提前发现
- 对接文档补充 mismatch 字段与说明
2026-08-03 17:47:12 +08:00
yml2213 2e67e2cc3b 发货链接返回完整域名:DELIVERY_BASE_URL 未配置时按请求 scheme+Host 推导
- GetOrCreateDeliveryLink/RestoreDeliveryLink 增加 requestBaseURL 参数
- buildDeliveryURL 优先级:DELIVERY_BASE_URL → 请求域名 → 路径
- 支持 X-Forwarded-Proto 与 TLS 判断 https
2026-08-03 17:38:11 +08:00
yml2213 19ada1282e 新增查询绑定结果接口(自建发货页轮询角色信息)
- GET /api/client/v1/orders/{order_no}/delivery/bind-result?bind_uuid=xxx
- 返回 bound/game_account/role_name/game_channel;未绑定返回 bound=false(不报错,供轮询)
- 对接文档自建发货页模式新增该接口,注明轮询建议间隔
2026-08-03 17:10:50 +08:00
yml2213 8da9dcec43 发货订单列表移除上游单号列,文档弱化内部发货单号
- 前端订单表格删除「上游单号」列(商户无需关注)
- 对接文档 provider_order_no 标注为平台内部发货单号
- 后端 provider_order_no 保留(防重复发货标记)
2026-08-03 16:31:50 +08:00
yml2213 235ada0786 优化导航栏缩小按钮 2026-08-03 16:21:53 +08:00
yml2213 90e5690a0a 对接文档移除顶部「开放 API/API 密钥」切换按钮,统一由左侧目录导航 2026-08-03 16:07:31 +08:00
yml2213 cf2a1b452c 对接文档配色优化:分组标题品牌蓝+分隔线,接口项/子项灰阶拉开,小节标题蓝竖线区分 2026-08-03 15:50:34 +08:00
yml2213 4406d492d7 对接文档目录字号优化:分组标题 12→14px 加粗,接口项/子项同步放大,目录加宽 2026-08-03 15:18:07 +08:00
yml2213 b7b9132242 对接文档重构:两种发货对接方式分开展示
- 左侧目录按分组展示:基础接口 / 发货链接模式 / 自建发货页模式 / 回调 / 附录
- 概述页发货对接方式对比表强化(适用场景/接口顺序/建议)
- 创建订单响应示例 data 统一为约定字段,补充 201/200 状态说明
- 对外响应字段 upstream_order 更名为 delivery(result_data 存储键兼容旧数据)
2026-08-03 14:48:30 +08:00
yml2213 4019b657c4 对接文档去除上游概念,只展示商户对接平台
- 文档移除所有上游/发货平台/BFF 表述:接口字段说明、示例、推荐流程全部中性化
- 代码用户可见文案同步中性化:提交发货 message、错误提示、发货配置相关措辞
- 概述去掉 /api/open/v1 上游链路提示
2026-08-03 14:34:58 +08:00
yml2213 f95075e2e4 data 透传闭环:发货数据回显、回调带回,并限制 2KB
- 「查询发货数据」响应新增 data(下单透传原样回显,供自建发货页预填/展示)
- 回调 payload 带回 data(下单传 → 回调收,商户对接免回查)
- 创建订单 data 限制最长 2048 字节
- 文档更新:data 用途(自建页预填/回调/上游查单约定字段)、发货数据与回调示例
- 单测覆盖 data 回显
2026-08-03 14:32:08 +08:00
yml2213 a44f58cd0f 优化开放 API 文档:创建订单响应示例补全为真实完整字段
- 响应示例从 4 个字段补全为完整订单对象(product/金额/手续费/时间等 21 字段)
- 备注补充双单号说明:下单后保存 order_no 用于后续链路,client_order_no 仅用于幂等
- 说明 data 透传字段行为
2026-08-03 13:53:18 +08:00
yml2213 fe55585f4d 修复发货提交卡死恢复 2026-08-03 13:24:47 +08:00