Commit Graph
100 Commits
Author SHA1 Message Date
yml2213 ef67375132 优化商品管理筛选功能 2026-07-09 23:55:19 +08:00
yml2213 0a5448b3f5 线下提号 优化价格拆分 2026-07-09 23:31:44 +08:00
yml2213 8a5c9ab0be 优化提号详情 2026-07-08 00:16:07 +08:00
yml2213 2935e16753 调整夜间专区时间范围 2026-07-05 20:39:47 +08:00
yml2213 7937b0df8a 修复提现拒绝审核参数校验 2026-07-05 20:33:47 +08:00
yml2213 1984e07e91 添加商品管理资产皮肤筛选 2026-07-05 20:21:18 +08:00
yml2213 090a90a268 添加订单押金暂扣与归还 2026-07-05 19:35:57 +08:00
yml2213 9ef0843eb0 feat(pickup): 新增管理员线下提号功能
- 新建 admin_pickups 表独立于 rental_orders,不污染订单状态机与财务统计口径
- 提号中/已完成/已取消三态:创建锁定账号,完成时给卖家钱包加可用余额并下架 listing,取消解锁账号
- 完成时 listing 置 completed,复用现有 listingLockedForOwnerMutation 拦截再上架
- 管理端提号管理页(列表/创建/完成/取消/可提号账号搜索)+ 卖家端提号记录页
- 财务仪表盘新增线下提号独立统计块,与正常订单口径分离
- 钱包流水 label、状态标签、菜单入口同步补齐
- 优化卖家服务悬浮菜单为一行四个,尺寸与配色对齐买家服务
2026-07-03 19:04:35 +08:00
yml2213 f5a1630a27 feat(listing): 编辑已发布账号需先下架, 编号保持不变
Update 增加前置校验, 仅 draft/offline 状态可编辑, published 必须
先主动下架; 编辑后由 initialPublishState 推进到待审核, 审核通过
才重新展示. ListingNo 仅在 Create 时生成, 全程同行更新不变
2026-07-03 08:28:26 +08:00
yml2213 3d0ea40ba3 fix(auth): 修复移动端短信登录图形验证码挤占输入框空间
input 改为 flex:1 1 0% + width:0 强制占据剩余空间,图形验证码按钮固定
78px 并用 overflow:hidden 拘住 SVG 固有尺寸,避免被 132px 图片撑开
导致输入框被挤到 32px 宽
2026-07-02 23:12:55 +08:00
yml2213 1ba7c1dea1 feat(auth): 新增密码登录注册与改密功能并加固安全
- 后端:新增密码登录/注册/重置/改密接口,users 表新增 password_hash 字段
- 安全加固:注册改为冲突即失败防止"注册即改密",登录用户不存在统一返回密码错误并计失败次数防枚举,改密需校验旧密码,清理登录失败计数中的死代码
- 前端:登录页重构为"登录/注册"两个 tab,登录内可切换密码/短信方式,默认密码登录
- 个人中心新增修改密码入口(PC 弹窗 + 移动端 popup),PC 个人资料页移除买家/卖家服务面板
2026-07-02 19:02:49 +08:00
yml2213 3701ae36ab feat(listings): 商品详情页增加等级展示
- PC 端账号资料区增加烽火等级、体力等级、负重等级
- 移动端账号资料区补充烽火等级展示
2026-07-02 18:12:04 +08:00
yml2213 30d7e6a7d2 feat(adminfinance): 退款数量拆分为全额退款与部分退款
- 按退款金额与原支付金额比较判定全额/部分退款
- 看板总退款卡片与每日表格增加全额/部分退款展示
- 保留 successful_refund_count 作为两者合计
2026-07-02 18:05:33 +08:00
yml2213 512291f089 feat(adminfinance): 新增预计收入指标并优化明细查询性能
- 财务看板增加预计收入与待结算订单数统计
- 明细列表 COUNT 改为仅扫描 rental_orders 主表,避免 5-JOIN 子查询
- 统一前后端结算差异判定阈值为常量 5 分
- 修复日期选择器使用 UTC 日期导致东八区凌晨偏移前一天的问题
2026-07-02 17:33:05 +08:00
yml2213 1b818b8e4b 优化一键脚本清理缓存时间 2026-06-29 23:49:27 +08:00
yml2213 9b0c676b89 修复错误 2026-06-29 23:41:36 +08:00
yml2213andClaude Opus 4.8 053eea3f8b perf: 新增 .dockerignore 大幅缩减 Docker 构建上下文
backend 与 caddy 构建均缺少 .dockerignore,导致每次构建传输数 GB 无用数据
(backend/tmp 上传文件 980M、frontend/node_modules 520M、.git、backups 等),
卡在 transferring context 阶段。

- backend/.dockerignore:排除 tmp/data/bin/logs/api/.env/docs 等,上下文降到几 MB
- 根 .dockerignore(caddy 构建用,context 为仓库根):排除 backend 运行时产物、
  frontend/node_modules、.git、backups 等

附带收益:原 COPY . 会把 .env(含密钥)打进镜像,现已一并排除。
已确认无 //go:embed 依赖被排除目录,不影响编译。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-29 23:22:07 +08:00
yml2213andClaude Opus 4.8 4f4f71f251 feat: 封存解散群聊后用户端隐藏 archived 会话
- 用户会话列表(ListConversations)过滤 status=active,死群不再堆在列表
- 未读统计(CountUnreadMessages)排除 archived 会话,消除消不掉的红点
- 数据完整保留,客服后台与历史记录查看不受影响,保留纠纷证据链

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-29 22:59:40 +08:00
yml2213andClaude Opus 4.8 be5d322c10 feat: 客服封存订单功能(号主失联场景)
新增客服「封存订单」动作,用于号主失联、无法联系的场景:单事务内
完成关闭订单、全量原路退款、永久封存关联商品、解散发布群、双方通知
与审计日志。

- 新增 listing 终态 sealed(封存),区别于可恢复的 offline
- listingLockedForOwnerMutation 锁定 sealed,号主无法再编辑/提审/上架
- 解散群聊按 listing_id 查发布群(listing_group)置 archived,
  阻断所有成员发言并留系统消息
- 新增 order.AdminSeal 及 /admin/orders/:id/seal 路由
- 前端:卖家页 PC/移动端 sealed 视为终态禁用操作,客服后台新增
  「封存订单」按钮与二次确认

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-29 22:52:20 +08:00
yml2213 8a11c2517e 优化了 pc 和移动端我的商品界面 ui 2026-06-29 20:19:38 +08:00
yml2213 8498884cb4 perf: SSE 实时事件驱动未读数量刷新,轮询间隔从 30s 降至 5min 2026-06-29 17:26:54 +08:00
yml2213 56e61428b0 fix: PC 端顶部导航栏「消息」入口添加未读数量角标 2026-06-29 17:14:51 +08:00
yml2213 05c29c97ea 修复发布驳回展示原因 2026-06-29 16:47:59 +08:00
yml2213 60e6eb9d18 修复驳回退款恢复订单时交接进度被重置的问题
- 取消订单时从待交接状态取消不再覆盖 handoff_status,保留原有交接进度
- 驳回恢复时仅在 cancelled 或 renter_confirm_timeout 时重置为 pending_owner
2026-06-29 01:42:00 +08:00
yml2213 3215e1c8c5 优化退款审核逻辑:驳回分恢复订单/关闭订单两种,优化状态标签,清理无用脚本
- AdminRejectRefund 新增 action 参数:restore 恢复订单至待交接,close 关闭订单并下架
- 前端驳回改为弹窗双选项:仅驳回恢复订单 / 驳回并关闭
- 清空 frontend placeholder 文件
- handleFileUpload 并发控制优化:清空上传列表时重置计数和 OCR 槽位
- v-for key 改为 _id 避免预览串图
- preview-src-list 改为单图预览
- deploy-prod.sh 新增 docker image/builder prune 自动清理垃圾
- scripts/ 删除无用的压测文件(load_stress.go 等 4 个)
2026-06-28 22:09:24 +08:00
yml2213 782a5cbd02 优化一键脚本 2026-06-28 21:23:26 +08:00
yml2213 c92cd03b8c 退款审核功能:待交接取消不再自动退款,改为客服审核后原路退回
- 租客在待交接状态取消订单不再自动退款,改为 refund_status=pending_review
- 新增退款审核页面 /admin/orders/refund-review,客服可逐个审核
- 新增 POST /refund/approve 通过退款、POST /refund/reject 驳回退款
- 新增 GET /orders/refund-pending 查询待审核退款订单列表
- 优化状态标签表述:已取消→租客已取消、已关闭→客服已关闭、异常→客服介入
- 新增 refund_status: pending_review 及其前端标签「待客服审核退款」
- AdminOrderDetailView 退款状态改用统一 refundStatusLabel
2026-06-28 21:14:55 +08:00
yml2213 c6c6a92645 优化二维码 OCR 上传体验:并发控制、状态清理、预览修复 2026-06-28 20:20:37 +08:00
yml2213 b124c74a46 修复 ocr 错误 2026-06-28 15:00:54 +08:00
yml2213 18eba36ef9 后台用户管理新增“人工实名 2026-06-28 01:06:35 +08:00
yml2213 21aabd77f1 商品已完成优化 2026-06-27 23:01:03 +08:00
yml2213 fed7d6af71 5 分钟发布一次 2026-06-27 22:26:37 +08:00
yml2213 3abd513543 修复客服看不到二维码图片和推荐支付宝提现 2026-06-27 21:57:46 +08:00
yml2213 5ac12ae5c3 优化站内信图标和哈夫币发布校验 2026-06-27 09:38:08 +08:00
yml2213 378b7a0b79 增加用户免押额度筛选 2026-06-27 09:12:15 +08:00
yml2213 c30914b538 优化发布确认与订单资金拆分 2026-06-24 01:57:03 +08:00
yml2213 86a136e663 增加备案信息 2026-06-22 19:20:58 +08:00
yml2213 d7c5701cc0 管理员界面订单详情优化,增加比例和额外物品 2026-06-22 19:05:41 +08:00
yml2213 23dbe9af22 优化后台列表搜索 2026-06-21 13:17:10 +08:00
yml2213 a0145e6b18 优化移动端收款账号管理 2026-06-21 12:57:53 +08:00
yml2213 efdbb4066c 微信提现信息优化 2026-06-21 12:39:55 +08:00
yml2213 cc88f46960 优化订单详情界面 2026-06-21 12:26:15 +08:00
yml2213 3bb794f6c4 订单操作增加二次确认 2026-06-21 12:17:44 +08:00
yml2213 5c67f5c411 修复财务仪表盘日明细 2026-06-21 09:44:19 +08:00
yml2213 a5165d17e9 优化后台表格滚动条 2026-06-21 09:40:30 +08:00
yml2213 b2e52e1d75 修复归还逾期订单重置 2026-06-21 09:28:50 +08:00
yml2213 fcf0230e04 优化二维码池筛选和日期中文化 2026-06-19 19:16:52 +08:00
yml2213 f4343ed8a5 新增二维码池独立权限 2026-06-19 18:54:13 +08:00
yml2213 72285ed638 修复超时订单重置流程 2026-06-19 18:36:46 +08:00
yml2213 2df935f74c 优化删除 2026-06-19 17:26:37 +08:00
yml2213 076ac6098e 二维码自动补发 2026-06-19 17:08:57 +08:00
yml2213 5ff1ea40b0 feat: 增加推送通知配置 2026-06-19 16:28:49 +08:00
yml2213 a4cdc3e806 增加站内信未读提醒和后台通知中心+txt 校验 2026-06-19 15:24:15 +08:00
yml2213 8d5094a8d0 优化首页账号卡片皮肤行间距 2026-06-19 09:03:23 +08:00
yml2213 9489273bcb 优化了首页账号展示-2 2026-06-19 07:43:23 +08:00
yml2213 1e3df0c0c0 优化首页账号卡片展示 2026-06-19 07:32:03 +08:00
yml2213 87483ea6a8 优化忽略文件 2026-06-17 07:58:23 +08:00
yml2213andClaude Opus 4.8 d066cb65a3 修复首页专区无法切回全部:专区与筛选持久化解耦
zone 此前被纳入 URL/sessionStorage 持久化体系,切回全部专区时
空 query 会回退读取残留的旧 zone 导致专区被弹回。改为纯内存视图
状态,专区可自由切换、不参与筛选持久化。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 07:58:01 +08:00
yml2213andClaude Opus 4.8 fa2d245788 重构首页账号专区组件,拆分排序控件
将 HomeZonesAndSort 拆分为独立的 HomeZones 专区组件,
排序控件内联至列表头部,专区改为响应式网格 tab 布局。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 07:43:51 +08:00
yml2213andClaude Opus 4.8 4d54f1b03a 后台增加撤销用户实名功能
实名姓名与收款账户不一致会导致收款码登记失败,新增后台撤销实名能力:
- 新增 user:revoke_realname 权限,授予超级管理员与运营角色
- 撤销时重置用户实名状态为未认证并删除实名记录,使其可重新认证,写入审计日志
- 用户管理页新增实名状态列与"撤销实名"操作(含原因弹窗)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 07:03:52 +08:00
yml2213andClaude Opus 4.8 8192344027 优化号主交接超时卡死问题
- 号主交接超时(owner_timeout)后允许补提交交接说明,避免临时延误导致订单卡死
- 后台新增"重置交接"动作,可将超时订单恢复为待号主交接并刷新计时
- 交接超时改以进入待交接时刻为基准计算,新增 handoff_started_at 字段

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 04:16:31 +08:00
yml2213andClaude Opus 4.8 ae11dd7b8d 修复发布页移动端小数输入与押金下限校验
- 哈夫币/M:移动端输入框由 type="digit" 改为 type="number",
  与绝密KD 一致,iOS 可输入小数点(烽火等级保持取整不变)
- 押金:新增 handleDepositBlur,输入框失焦时若低于智能推荐额度
  (或为空/非法)自动补足到推荐值并提示,桌面与移动端均生效;
  提交时校验保留作兜底

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 03:53:01 +08:00
yml2213andClaude Opus 4.8 f336957391 发布流程增加解锁赛伊德与腾讯安全中心截图教程
- 解锁赛伊德:皮肤与交接分区新增是/否必选项,存入 asset_summary,
  仅当号主选「是」时在买家端列表/详情展示「解锁赛伊德:是」
- 腾讯安全中心截图:新增可复用 GuideImage 组件(缩略图 + 点击全屏放大),
  在该截图槽位展示处罚截图教程图,仅提示用途、不占用上传数量

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 02:12:15 +08:00
yml2213andClaude Opus 4.8 a88008f783 用户管理增加查找筛选
后台用户列表此前仅分页,数据量大时无法定位用户。

- 后端:List 新增 ListQuery(关键词 + 状态),抽出 applyUserFilter
  对总数与列表查询统一加筛选;关键词为纯数字时同时按用户 ID 精确匹配,
  否则按手机号/昵称模糊匹配
- 前端:AdminUsersView 新增筛选栏(关键词:手机号/昵称/用户ID,
  状态:正常/已冻结/已禁用),回车/清空/选择即查,查询重置到第 1 页

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 00:58:14 +08:00
yml2213andClaude Opus 4.8 e75a39b03a 新增消息已读状态
复用 chat_participants.last_read_at 推导已读,无需新表/迁移。

- 后端:MessageDTO 增加 is_read,toMessageDTOs 按「全部已读」语义计算
  (所有其他参与者均已读才算已读,1对1 即对方已读);MarkRead 成功后
  推送 conversation_read 事件(含 reader 与 read_at),NotifyConversation
  与 NotifyAllAdmins 双通道通知,使发送方/客服实时刷新已读
- 前端:ChatMessage 增加 is_read,ChatView/AdminChatsView/MobileChatView
  在自己的消息下渲染「已读/未读」;收到 conversation_read 且本端仍有
  未获回执的自己消息时才重载,避免无谓请求

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-16 22:22:05 +08:00
yml2213andClaude Opus 4.8 cc1c0d33de 修复客服后台聊天无实时刷新
后台 token 仅存 httpOnly cookie,localStorage 无 access token,
useChatSSE 在空 token 时提前 return,导致后台 SSE 从未建立连接,
只有手动刷新才出消息。

- 前端:后台 SSE 不再因空 token 返回,去掉 query token,
  改用 withCredentials 依赖 cookie 鉴权
- 后端:新增 Hub.NotifyAllAdmins,新消息与新会话广播给所有在线客服,
  使「未分配 / 全部」视图实时刷新(参与者客服重复收到由前端按 id 去重)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-16 19:57:58 +08:00
yml2213 c6ff7c1f3a 修复退款迁移格式 2026-06-14 07:58:31 +08:00
yml2213 fec8e37181 修复退款幂等与补偿重试 2026-06-14 07:55:02 +08:00
yml2213 607d2415a1 超时任务多实例优化 2026-06-14 03:14:43 +08:00
yml2213 c255c142c5 优化提现问题 2026-06-14 03:13:11 +08:00
yml2213andClaude Opus 4.8 e8621728fd 删除钱包充值功能并消除重复入账风险
钱包充值为开发态测试功能(生产环境本就禁用),且支付回调存在重复入账风险:入账与标记 paid 两步非原子、wallet_ledger 去重无唯一索引、幂等键使用了可变的 ProviderOrderID。直接删除该功能从根本上消除风险。

后端:
- payment 移除 StartWalletRecharge/QueryWalletRecharge 及相关 handler/DTO/常量;confirmPaid 增加 OrderID 守卫;解除对 wallet 仓库的依赖
- wallet 移除 Recharge/ConfirmRechargeFromChannel 及相关定义
- 移除三条充值路由;adminfinance 财务统计口径只统计 order_pay
- 清理充值相关测试用例

前端:
- 移除充值 API、WalletView 充值面板/弹窗、admin 充值标签与筛选
- 保留钱包余额、流水、提现等核心能力

go build/vet 与 vue-tsc typecheck 均通过。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-14 02:45:46 +08:00
yml2213 3ef7705776 优化申诉仲裁流程和证据展示 2026-06-13 21:26:38 +08:00
yml2213 529ad1e433 优化首页账号卡片展示 2026-06-13 20:27:05 +08:00
yml2213 6ce031160b 移动端浏览器支付 ok 2026-06-13 19:17:02 +08:00
yml2213 9d7184ecde 优化了消息数量,筛选和顶部部分 2026-06-13 19:03:29 +08:00
yml2213 3b4cd76e42 移动端增加租期 展示 2026-06-13 18:45:49 +08:00
yml2213 9965150521 再次优化筛选 2026-06-13 18:19:45 +08:00
yml2213 55326b7d06 优化筛选, 增加记住筛选功能 2026-06-13 15:46:47 +08:00
yml2213 9b41b9dc84 增加足迹和收藏 2026-06-12 22:34:52 +08:00
yml2213 c726659866 手机端增加提现功能 2026-06-12 21:57:49 +08:00
yml2213 f1ae72cc7a 二次编辑商品 2026-06-12 21:43:02 +08:00
yml2213 c8b8922c8d 优化移动端押金 ui 2026-06-12 21:32:35 +08:00
yml2213 7c2f5e34c3 详情页面kd 展示,发布时间必填 2026-06-12 21:24:13 +08:00
yml2213 f6ea3e29a6 移动端和 PC 端登录页都加了“图形验证码 2026-06-12 21:16:08 +08:00
yml2213 8cfb63a3e7 修复短信登录限流处理 2026-06-12 20:30:43 +08:00
yml2213 4344b1d07c 测试修复文件上传 bug 2026-06-12 19:48:38 +08:00
yml2213 a615100730 修复文件上传和下单支付流程 2026-06-12 19:42:24 +08:00
yml2213 8d9d00beb6 合并后台安全字段初始化迁移 2026-06-11 08:24:04 +08:00
yml2213 6d61a336d6 支持配置后台页面入口 2026-06-11 08:00:13 +08:00
yml2213 7130135e23 兼容开放导入未签名请求 2026-06-11 07:32:11 +08:00
yml2213 88b1df64e7 加固后台管理安全 2026-06-11 07:23:00 +08:00
yml2213 5255b21141 修复docker 无法下载 bug 2026-06-11 04:49:44 +08:00
yml2213 c0403fc1ea negiix 更换成 caddy 2026-06-11 04:17:36 +08:00
yml2213 4b9ac0598f 修复拉卡拉退款成功状态识别 2026-06-10 21:03:41 +08:00
yml2213 6d990c97bc 修复下单错误 api 2026-06-10 19:45:33 +08:00
yml2213 3e0a1a2d4b 整理初始化迁移并优化订单和用户菜单 2026-06-10 16:21:01 +08:00
yml2213 70a35204b3 统一前端错误读取和调试日志 2026-06-10 15:52:49 +08:00
yml2213 df7d6a2675 添加 API 限流和支付渠道熔断 2026-06-10 15:48:04 +08:00
yml2213 0fbe30b377 补充财务查询索引和慢 SQL 日志 2026-06-10 15:43:36 +08:00
yml2213 28c4efc669 解耦订单和申诉模块外部依赖 2026-06-10 15:41:31 +08:00