Commit Graph
95 Commits
Author SHA1 Message Date
yml2213andCursor a1008f7e6a fix(listings): 首页无论是否可修改游戏名都展示该字段
号主选择「否」时买家也能在商品卡片上看到,避免只展示「是」造成信息缺失。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-01 16:06:15 +08:00
yml2213 329d0f75bb feat(distribution): 分站前台按独立商城呈现并支持首页文案自定义
分站前台原本对顾客暴露分销身份,且登录等页面写死了主站品牌,
与「一手独立商城」的定位不符;同时首页文案全部硬编码,站长无法按自己口径调整。

去分销身份(顾客可见处):
- 头部品牌区、首页主视觉、移动端认证卡去掉「官方分销/官方分销认证/官方分销站」标识
- 会员徽标「分销专享」→「会员专享」,「所属商城」兜底「专属分销站/商城」→「官方商城」
- 订单页说明改为「当前为【X】商城,仅展示在本站产生的订单记录」,保留订单按站隔离的必要说明
- 无公告时的兜底跑马灯、轮播角标去掉分销措辞
- 清理随之失效的 pc-brand-badge / mobile-brand-badge 样式

品牌跟随站点配置(即可自定义):
- PC/移动登录页、移动注册页、加桌面引导页的品牌改为 站点名称 + Logo(无 Logo 取站名首字),
  不再写死主站「大锤商行」;主站行为不变(新增 store getter brandMark:分站取站名首字,主站仍为「锤」)

首页文案可配置:
- 新增迁移 000076 与 distribution_sites.storefront_text_json
  (tagline 头部副标题 / hero_badge 主视觉徽标 / hero_desc 主视觉描述 / card_sub 移动端卡片副标题)
- 分销后台「品牌装修 → 首页文案」可编辑,占位提示即默认值,留空或整段清空回落内置默认
- 贯通 UpdateSiteBranding → 公开站点信息接口(含 Redis 缓存失效)→ 前台 store 逐字段合并默认值
- 装修预览同步展示站长填写的副标题与徽标

测试:
- 后端补装修字段写入/公开接口透出/清空回落断言
- 前端新增 storefrontText 单测(默认合并、覆盖、空白与非法类型回落)
2026-10-01 09:24:56 +08:00
yml2213 53b40f8fad fix(distribution): 修复分站跑马灯公告把配置 JSON 原文展示出来
分销站公告存在 distribution_sites.announcements_json 的是 { title, content } 对象数组
(分销后台品牌装修写入),而前台跑马灯组件按字符串数组渲染。Vue 对对象会做
JSON.stringify,配合 no-wrap 样式,前台就显示成
{"title":"天域商行专注AWM子弹回收、高比例!不排队!秒结算!","content":""}。

- 新增 shared/utils/announcements.ts:把公告条目归一化为展示文本,兼容纯文本、
  { title, content } 对象,以及被字符串化的对象(历史脏数据)与标题为空回退内容
- distributionSite store 解析 announcements_json 时归一化,跑马灯组件内部再兜底一次
- 首页配置 mergeHomeConfig 同样接受对象形态,主站/移动端公告入口口径统一
- 分销后台装修预览的跑马灯示例按同一口径取值(只有内容时不再空白)
- 补 9 条单测覆盖对象、字符串化对象、普通花括号文案、混排去重与空输入
2026-10-01 09:04:28 +08:00
yml2213andCursor 079e18bd3a style(frontend): 格式化 listingDisplay 单测以通过 pre-push Prettier 检查
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-17 18:16:29 +08:00
yml2213 4d05fa2c4c feat(admin-listing): 商品管理列表在租金/押金左侧展示号主纯币价格
- listingDisplay 新增 getListingSellerCoinPrice,读取价格快照 seller_coin_base_price
  (号主收号价中的纯币部分,不含额外消耗品)
- 商品管理表格新增「纯币价格」列并置于「租金/押金」左侧,悬停显示完整说明
- 快照缺失(旧数据/无定价快照)时展示 -,与相邻列风格一致
- PNG 导出列定义同步新增该列,保持导出与页面一致
- 补 listingDisplay 单测:纯币价读取、消耗品单独计价时与号主总价区分、缺快照兜底
2026-09-17 17:32:00 +08:00
yml2213andCursor 8e167bc12b style(frontend): 格式化 usePricingCalculator 以通过 pre-push Prettier 检查
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-17 16:11:18 +08:00
yml2213andCursor a36332de1d fix(listing): 主站加速出售买家价不再误锚到参考比例
分站解耦只应改分站收号侧;主站加速出售仍跟卖家比例联动买家价,并同步分销后台列表与发布页文案。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-17 16:09:41 +08:00
yml2213 22fcaa5945 feat(distribution): 分站收号压价解耦买家价(方案 B 新口径)
核心语义反转:receive_cost_delta 为压价点数,收号比例 = 主站参考比例 R + 点数,
点数越大号主收号价越低;买家售价锚定主站参考比例推导,不再随收号价联动。

- 迁移 000072:distribution_sites 新增 receive_cost_delta(旧 receive_ratio_delta 保留只读)
- receive_pricing:新增 Normalize/ApplySiteReceiveCostDelta;分站定价买家侧改用
  R 锚点(referenceSellerCoinBasePrice),快照写入 site_receive_cost_delta 与 pricing_model 标记
- site_receive:新增 resolveSiteReceiveCostDelta 读取链路,旧 ResolveReceiveRatioDelta 保留
- 分成不变:压价差经结算层 profit 自动进入 35/40/25 三方分成池;
  货架自主加价仍 100% 归分站,两条边界均以主站为锚
- 权限对齐旧字段:主站全局管理员与分站操作员均可设置
- 前端三端同步:主站 pricing.ts/usePricingCalculator 买卖解耦试算、
  主站后台弹窗改「收号压价」价格语义文案、分销后台 SiteSettings 同步
- 测试:单测锚定 R=43 时 cost_delta=3 → 收号 217.4 / 卖价 263.2 不变 / markup 池 30.6→54.9
2026-09-17 15:54:56 +08:00
yml2213 64a4e5bb16 fix(distribution): 修正分销后台入口地址并收口主站后台隐藏路径
- 新增前端 distributionAdmin 工具:优先 VITE_DISTRIBUTION_ADMIN_URL,
  本地开发回退 5190,生产按 distribution.<主站域名> 推导
- 替换主站后台「打开独立分销后台」按钮与开通凭证中硬编码的 :5190
- 分销后台复制凭证改用 window.location.origin,去掉硬编码 http
- Caddyfile 中 /manage-7x9k2p 仅主站域名放行,分站域名统一 404
- 构建/部署链路透传 VITE_DISTRIBUTION_ADMIN_URL 与 ADMIN_BASE_PATH
2026-09-16 15:09:38 +08:00
yml2213 5f5a57b81f fix(withdrawal): 修复提现详情收款二维码使用公网URL导致鉴权失败加载错误
- backend: withdrawal presenter 增加 privateCertificateURLs 兼容转换历史公网 payment-cert 路径
- frontend: AuthImage 与 fetchFileBlobByURL 兼容私有凭证 key,后台上下文通过管理员私有对象接口安全加载
- frontend: 按对象接口路径与 key 前缀精确判定,避免外链带 ?key= 被误代理到后台私有对象接口
- tests: 补充 TestPrivateCertificateURLs 单元测试
2026-09-16 14:39:32 +08:00
yml2213 8ec53f9d3d style(frontend): 修复 prettier 格式门禁
三个本分支改动的文件未过 prettier --check,导致 npm run check 与部署门禁红灯。
按项目风格重新排版后台分销站点页、移动端发布页与定价计算 composable,不改动任何逻辑。

验证:npx prettier --check . 通过;npm run check(format + eslint --max-warnings=0 + vue-tsc)通过;vitest 7 文件 / 32 用例通过。
2026-09-16 12:49:21 +08:00
yml2213andCursor c9d9160ff4 feat(distribution): 分站可下调收号比例且不超过主站上限
让分销站能按自身能力下调收号比例扩大利润,同时把主站回收比例作为硬边界,避免分站把比例加得比主站更高。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-15 20:35:30 +08:00
yml2213 6acdead0f0 Merge branch 'main' into feature/distribution-system 2026-09-11 09:35:53 +08:00
yml2213 7734f315ce feat(ocr): 支持 PP-OCRv6 异步识别模型并设为默认,解决排队与高延迟问题 2026-09-10 20:12:05 +08:00
yml2213 7ffc3822f5 Merge branch 'main' into feature/distribution-system
合入 main 的推广追踪(adtracking)模块,并解决与分销业务的 8 处冲突。

冲突解决原则:两边的字段、菜单与路由全部保留,不删任何一方。

后端:
- model/order.go:保留分销字段注释块,追加 SourceTrackCode
- model/user.go:追加 RegisterTrackCode;TokenVersion 默认值保持 1
  (与本库 users.token_version 列默认值一致)
- auth/repository.go:两处建号结构体同时写入 RegisterTrackCode 与 TokenVersion
- order/dto.go:OrderDTO 同时暴露 distribution_site_id 与 source_track_code;
  CreateRequest 同时接受 distribution_site_code 与 track_code
- order/presenter.go:同时映射 DistributionSiteID 与 SourceTrackCode

前端:
- orders/api/orders.ts:createOrder 同时携带 distribution_site_code 与 track_code
- layouts/AdminLayout.vue:分销管理菜单组与推广追踪菜单组并列保留
- router/adminRoutes.ts:分销 4 条路由与 tracking-links 路由并列保留

迁移:feature 侧 000064-000067 已在前一提交顺延为 000065-000068,
为 main 的 000064_ad_tracking 让号,合并后编号 000063→000068 连续无重复。
2026-09-10 13:06:18 +08:00
yml2213andCursor ee0e70ccad fix(adtracking): 收紧成交口径、点击去重与生产落地页白名单
成交 GMV 排除已关闭订单,避免未支付关单被计入;点击按访客 5 秒、IP 1 秒双重去重;生产禁止 localhost 落地页,失效短码改用 QueryEscape。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-10 11:27:43 +08:00
yml2213 2b11d70ebe feat(adtracking): 新增推广链接追踪与数据大盘,支持自定义短码、注册与下单归因及二维码物料生成
1. 数据库新增 000064_ad_tracking.sql 迁移,创建 ad_tracking_links 和 ad_tracking_clicks 表,并在 users、rental_orders 增加归因字段
2. 后端新增 adtracking 模块,挂载 GET /r/:code 302 智能重定向、点击流水异步记录、转化率/GMV聚合统计及管理接口
3. 用户认证 (auth) 与订单创建 (order) 链路贯通,实现注册用户与订单成交推广短码全链路归因
4. 前端管理后台左侧新增【推广追踪】目录,支持大盘指标总览、推广链接 CRUD、状态启停、一键复制短链及二维码下载 (PNG)
2026-09-10 11:05:47 +08:00
yml2213 a61828c6ca feat(dev): 增加独立分销前台端口5191、标签页会话隔离与免hosts二级域名支持 2026-09-08 13:39:12 +08:00
yml2213 e024319860 feat(distribution): 分销站点消息中心与钱包提现多租户独立分支隔离
- 新增 000070 数据库迁移:支持 chat_conversations、wallet_accounts、wallet_ledger、withdrawal_requests 按 distribution_site_id 隔离
- 消息中心:会话列表、未读数统计、站点专属客服及订单群聊与主站实现双向完全隔离
- 资金账户与提现:独立按 (user_id, distribution_site_id) 建账,分销订单自动结算至对应分站钱包,提现与流水相互独立
- 前台界面:Axios 自动透传 X-Distribution-Site-Code,钱包、提现与消息页面呈现分站专属标牌与独立说明
2026-09-07 18:11:27 +08:00
yml2213 72b805c499 fix(types): 修复合并后的 Listing 类型引用与接口类型兼容 2026-09-07 17:37:49 +08:00
yml2213 cdb236cc29 merge(main): 同步主站最新 UI 与审核优化代码并保持分销多租户隔离 2026-09-07 17:37:31 +08:00
yml2213 23883d4be5 perf(listings): 优化详情页图片加载链路支持公开变体与分级秒开 2026-09-06 21:40:35 +08:00
yml2213 823632b608 revert(listings): 首页卡片恢复使用原生 img 与公开缩略图链路 (16KB秒开) 2026-09-06 20:36:25 +08:00
yml2213 ac909d6757 fix(listings): 首页卡片统一接入 AuthImage 解决私有对象存储鉴权加载失败问题 2026-09-06 20:22:47 +08:00
yml2213 87aa0b0a2b perf(listings): 首页仅展示单张纯币截图,去除悬停轮播以降低OSS并发请求 2026-09-06 20:07:31 +08:00
yml2213 9ed63e9aec style(frontend): 执行 prettier 规范格式化并移除未使用变量 2026-09-06 19:51:55 +08:00
yml2213 1c922b239c feat(mobile): 全面重构移动端首页与详情页布局并统一3*3顶级保险高光视觉 2026-09-06 19:49:33 +08:00
yml2213 369b0647bb 合并 main 分支并融合订单列表最小化与 SQL 治理
- Auth/权限中间件取 main 演进版(错误细分、token 来源),保留 dev 的用户 cookie 与登出撤销语义
- 后台订单列表:融合 main 的首页免 COUNT 优化与关键词索引路由,保留 dev 的最小化 AdminOrderListItemDTO(结账明细仍由详情接口返回,同步调整对应集成测试)
- 保留 dev 的 token_version 冻结/解冻递增与 main 的状态变化判断及通知
- 前端:保留 dev 登出接口与 main 的 fetchMe silent 参数、SSE 登录跳转;后台订单表按 dev 最小化 DTO 移除号主到手列
2026-09-05 11:43:13 +08:00
yml2213 74d1518b66 feat: show next season pass on listings 2026-08-28 18:28:59 +08:00
yml2213 006f93a0e7 feat: add next season pass publish option 2026-08-28 18:23:14 +08:00
yml2213 d95b95211c fix(chat): 提升二维码 OCR 稳定性 2026-08-25 16:59:05 +08:00
yml2213 9a52b51c89 优化财务仪表盘UI与快捷时间筛选 2026-08-20 16:10:55 +08:00
yml2213 c4507caf37 增加账号凌晨响应标记 2026-08-18 20:39:13 +08:00
yml2213 c91423a19b 修复冻结用户强制下线 2026-08-18 20:02:21 +08:00
yml2213 85332df2bd 订单接口最小化与私有文件访问加固
- 订单列表使用独立最小 DTO 并分页,号主待办提供独立接口与统计
- 用户 token 增加版本控制,冻结/改密/退出即时撤销会话
- 移除 URL token 传参,SSE 与接口统一使用 HttpOnly Cookie
- 私有文件按上传归属与业务关联授权,收款凭证转私有访问并校验归属
- 公开商品接口返回最小字段,隐藏号主身份与内部状态
- 每日清理超过 30 天未关联业务的上传归属,上传归属失败时补偿删除对象
2026-08-16 21:47:46 +08:00
yml2213 786d20e9cd 替换游戏名修改属性 2026-08-16 18:55:26 +08:00
yml2213 d9f552577a 新增合作与反馈入口配置 2026-08-15 16:37:30 +08:00
yml2213 096121a8cd feat(seller): 发布账号新增是否有全英雄必填字段,详情页展示 2026-08-15 13:32:01 +08:00
yml2213 fbd59ed19f feat(pc): 详情页增加吸顶返回列表按钮,首页按筛选签名恢复滚动位置 2026-08-15 10:42:09 +08:00
yml2213 8fb7d3bac0 feat(pickup): support platform managed offline settlement 2026-08-09 20:20:39 +08:00
yml2213 99e8eb28af 实现外部商品调价 2026-07-26 19:17:09 +08:00
yml2213 c594b543d1 完善租客等级免押与积分管理 2026-07-26 18:07:10 +08:00
yml2213 4bc25b87d8 修复平台代管订单流程 2026-07-25 19:17:19 +08:00
yml2213 dabf147019 统一三角洲游戏名展示 2026-07-25 15:37:10 +08:00
yml2213 9bb57b7094 优化线下提号利润修改 2026-07-25 14:53:11 +08:00
yml2213 5668eb745f 优化外部上传和备注 2026-07-23 17:06:06 +08:00
yml2213 0ef6a481f5 租期天数改为向上取整到整天
不足一天按一天计(如 1.3/1.7 均计 2 天),前后端展示与预计时长计算保持一致。
2026-07-20 22:14:03 +08:00
yml2213 9b1ee445b7 新增首页 AW炫彩回收入口,支持后台配置展示图
首页第三入口点击查看回收说明图;配置项 mobile.aw_recycle 可配标题/图片;aw-recycle 走公开文件链路,首页鉴权预览兼容旧私有地址。
2026-07-19 22:50:16 +08:00
yml2213 ae79550d78 支持在线时间跨天并优化发布与筛选体验
允许在线时段 end 早于 start 表示跨天,统一展示「次日」文案;修复移动端价格区间清空后被 sessionStorage 回写;优化 PC/移动端在线时间控件密度与通栏展示。
2026-07-19 17:28:57 +08:00
yml2213 3a555c27b2 完善掉线诊断并优化二维码加载 2026-07-14 16:06:25 +08:00