Commit Graph
100 Commits
Author SHA1 Message Date
yml2213 ed4d3f011c 优化 PC 首页点击式筛选与排序体验
默认区平铺常用条件并支持刀皮/红皮/枪皮多选,高级筛选折叠展示;修复综合推荐无法选中、筛选排序导致页面回顶等问题。
2026-07-18 20:59:21 +08:00
yml2213 1a4776bba0 支持结账多轮协商与按实际消耗双比例结算
允许双方最多 6 轮修改结账方案;哈夫币按实际消耗与 buyer/seller 比例计价,打超从押金扣,押金不足禁止自动完结并引导人工争议。同步收紧结账明细展示密度。
2026-07-18 20:35:16 +08:00
yml2213 98772867a7 统一结账押金字段为押金赔付扣除
号主修正去掉无效的其他押金扣款,仅保留押金赔付扣除;
前后端与账单文案统一,修正时 other 与 deduct 对齐。
2026-07-17 17:17:29 +08:00
yml2213 c492a1cc85 修复后台新建/重置密码误触发强制改密
仅部署 bootstrap 首个超级管理员需强制改一次初始密码,
新建管理员与重置密码不再设置 password_must_change。
2026-07-16 22:52:32 +08:00
yml2213 3dfa43d3d0 选号网构建默认使用npmmirror并增加npm重试
缓解国内服务器访问registry.npmjs.org出现ECONNRESET的问题。
2026-07-16 22:34:42 +08:00
yml2213 2c1cdb0339 部署选号网时无本机npm则改用Docker构建
服务器可不装Node,自动用node:24-alpine镜像执行npm ci/build。
2026-07-16 22:32:04 +08:00
yml2213 a0fc23647b 支持同机双域名部署选号网hfb_show
Caddy按CADDY_SHOW_DOMAIN托管选号网静态并反代API;一键脚本可构建hfb_show并写入配置。
2026-07-16 22:24:40 +08:00
yml2213 a4189db4ca 业务更名为撞车并切换crash路由
用户可见文案与页面/API路径改为撞车与crash,保留mohong表与权限码兼容;移动端入口去掉租/撞图标。
2026-07-16 21:19:35 +08:00
yml2213 8b637cf499 统一摸大红PC支付方式选择为带图标弹窗
抽取PayWaySelectDialog,与租号端一致展示微信/支付宝图标。
2026-07-16 21:01:46 +08:00
yml2213 183351a297 摸大红支持购物车多选一起结账
下单支持多商品行快照与一次支付;支付后整单复制文案,前台提供购物车加购与结账。
2026-07-16 20:58:39 +08:00
yml2213 e241607535 支持号主与租客查看自己的发布/订单详情
新增卖家商品详情页;订单详情底部增加可折叠账号快照,已完成订单展示结账明细。
2026-07-16 20:47:33 +08:00
yml2213 b44b3354b9 修复摸大红移动端分类栏主题色与固定滚动
选中态改为主题橙,左侧分类固定仅右侧商品列表滚动。
2026-07-16 20:08:54 +08:00
yml2213 66ca2693b3 支持客服入口按业务场景分流到客服分组
联系客服支持 scene(general/mohong),按用户与场景复用会话;摸大红入口走摸大红分组选人。
2026-07-16 20:05:10 +08:00
yml2213 e07532a188 移除摸大红支付后建群逻辑,仅保留扫码与复制
支付成功只固化客服二维码与订单文案;同步清理迁移、配置与前后端相关字段。
2026-07-16 19:52:40 +08:00
yml2213 094a91c985 优化摸大红前台交互与主题按钮样式
列表改为滚动触底自动分页,详情与订单页铺满主内容区,按钮统一为橙色主题描边/实心样式。
2026-07-16 19:40:37 +08:00
yml2213 6d61027318 新增摸大红业务并修复后台链接按钮白字
支持分类筛选、搜索、下单支付建群与固定二维码;合并迁移种子数据;后台表格编辑/详情链接恢复主题色可见。
2026-07-16 18:08:18 +08:00
yml2213 97a34e0329 忽略后端运行日志 2026-07-14 17:14:18 +08:00
yml2213 3ffb5495ae 接入Beszel轻量监控 2026-07-14 17:04:59 +08:00
yml2213 80f779eb2b 提高MySQL容器内存上限 2026-07-14 16:49:45 +08:00
yml2213 42475e687a 修复数据库波动导致后台掉线 2026-07-14 16:33:42 +08:00
yml2213 3a555c27b2 完善掉线诊断并优化二维码加载 2026-07-14 16:06:25 +08:00
yml2213 7b2d94e22d 修复线下提号后商品仍显示在「已上架」的问题
创建提号时将 listing/account 置为 rented 并记录状态事件,与正常订单锁定一致;完成提号对齐 completed/offline;取消提号恢复上架。补充 migration 修复历史数据。
2026-07-14 13:46:38 +08:00
yml2213 2ca6fd9306 完善测试建表并统一前端格式 2026-07-14 01:32:14 +08:00
yml2213 2efcede800 优化生产日志体积:访问降噪、压缩清理与退款告警节流
跳过轮询/封面等热路径成功请求,按日 gzip 并保留可配天数,退款 max-retry 汇总告警。
2026-07-13 22:02:20 +08:00
yml2213 f51aed1f0f 优化审计日志中文展示与动作筛选
补全动作/业务类型中文映射,表格与下拉按分组展示,系统任务操作人可读。
2026-07-13 21:38:16 +08:00
yml2213 b96d6141f5 用户管理增加余额调账功能
支持后台加减可用余额并写入资金流水与审计,优化操作列按钮样式。
2026-07-13 21:30:38 +08:00
yml2213 a2a9ade68e 修复移动端输入聚焦放大,并补全商品详情价格拆分
- 触控设备输入框字号至少 16px,避免 iOS Safari 聚焦自动放大
- 商品管理详情「号主与价格」对齐订单资金拆分字段展示
2026-07-13 21:14:43 +08:00
yml2213 acd9d9b7f1 优化首页返回定位与发布在线时间表单
移动端首页用列表缓存和内部滚动恢复浏览位置;发布页在线时间改为全天+起止时间单行布局。
2026-07-12 23:02:01 +08:00
yml2213 42b250cd2c 账号上下架增加统计 2026-07-11 23:37:24 +08:00
yml2213 7614c0980e 优化详情返回首页停留 2026-07-11 23:25:51 +08:00
yml2213 f81842d46e 筛选增加多选功能 2026-07-11 23:21:54 +08:00
yml2213 0958991847 增加苹果 icon 2026-07-11 22:25:41 +08:00
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