yml
|
9271f47553
|
增加公告图片编辑, 增加取消归档
|
2026-06-15 20:37:13 +08:00 |
|
yml
|
85f2d9b3b3
|
新增添加到桌面引导
|
2026-06-15 11:09:50 +08:00 |
|
yml
|
2a8c1e5c37
|
增加内置浏览器打开引导
|
2026-06-15 00:55:12 +08:00 |
|
yml
|
4a0d615926
|
修复支付网关地址空白字符
|
2026-06-15 00:53:05 +08:00 |
|
yml
|
a275a006eb
|
修复支付取消与成功统计
|
2026-06-14 23:58:39 +08:00 |
|
yml
|
3ff8c1de88
|
支持微信支付宝独立支付渠道
|
2026-06-14 23:38:03 +08:00 |
|
yml
|
2dc5a8121e
|
前端死代码清理
|
2026-06-14 18:42:06 +08:00 |
|
yml
|
965832c3cb
|
前端测试基建: vitest.config + jsdom + test script, 3 个死 spec 复活
现状: vitest 已装, 3 个 spec 已存在 (listings composables, 14 用例), 但跑不起来——package.json 无 test script, 无 vitest.config, @/ 别名在测试环境不通 (Cannot find package '@/...')。
修复:
- 新增 vitest.config.ts: jsdom 环境 (提供 window/document/navigator, 让 monitor.ts 等浏览器模块可加载) + @ 别名 (与 vite.config.ts 同口径) + globals + v8 coverage 配置
- package.json 加 test / test:watch / test:coverage script
- 装 jsdom devDependency
- check.sh 前端门禁加 npm run test 步骤 (受 --skip-tests 控制, 与后端测试一致)
验证: npm run test 3 spec 全过 (14 用例); check.sh --skip-backend 全绿 (check + test + build)。
之前 "有测试实际跑不起来" 的债务清掉。后续 composable/api 层测试可直接 npm run test。
|
2026-06-14 18:13:06 +08:00 |
|
yml
|
8fef037be3
|
AES 字段加密迁配置并兼容旧密文
移除字段加密硬编码主密钥,改为 FIELD_ENCRYPTION_KEY 注入。
保留 FIELD_ENCRYPTION_LEGACY_KEY 透明回退旧密文,新写入统一使用主密钥;生产环境校验主密钥和 legacy 密钥长度、占位符及相等关系,并统一生产环境判断口径。
补充配置与旧密文兼容回归测试。
|
2026-06-14 17:53:24 +08:00 |
|
yml
|
64f7ed3753
|
加部署前代码门禁: scripts/check.sh + deploy-prod.sh 接入
单人维护 + Gitea 无 runner, CI 文件无执行环境。改用部署时刻门禁: deploy-prod.sh 构建镜像前在本地调 check.sh 跑全量检查, 失败即中止部署。
scripts/check.sh (新增):
- 后端: go vet + go build + go test (串行 -p 1 避免 SQLite 并发)
- 前端: npm run check (prettier + eslint --max-warnings=0 + vue-tsc) + npm run build
- 支持 --skip-backend/--skip-frontend/--skip-tests 局部调试
- 每步报耗时, 任一失败退出非零
deploy-prod.sh 接入:
- 构建镜像前 (NO_BUILD=0) 自动调 check.sh, 失败中止部署
- 本地缺 go/npm 时跳过并告警 (部署机可能只有 docker), 不硬失败
- --skip-check 显式跳过 (不推荐)
README 补 "代码门禁" 章节。
验证: 全量 check.sh 跑通 (~46s, 5 步全绿); 临时注入 lint 错误确认能拦住。
|
2026-06-14 16:30:58 +08:00 |
|
yml
|
f410be3797
|
代码格式化: prettier --write 统一代码风格
39 个文件按 .prettierrc.json (printWidth 100 / no semi / singleQuote) 统一格式, 纯空白与换行调整, 无逻辑变更。为接入代码门禁做准备, 让 npm run check (format:check + lint:strict + typecheck) 干净通过。
|
2026-06-14 16:24:01 +08:00 |
|
yml
|
ae4297fec7
|
仲裁退款失败补偿: refundretry 自动补建仲裁孤儿退款单
问题: dispute/arbitration.go 事务提交后 startRefundBestEffort 失败只 log.Printf 吞错, 号主收入已入账但租客退款单未建, 订单卡在 refund_status=pending 的孤儿状态。原 refundretry 的 warnMissingRefundOrders 只告警不补建, 导致资金口径不平需人工兜底。
修复: 升级 warnMissingRefundOrders, 对 settlement_status="arbitrated" 的孤儿订单自动调 StartRefund 补建 (biz_type 固定 arbitration_refund, 金额用 order.RefundAmountCent)。
幂等保证: 复用 StartRefund 内部 prepareRefundOrder 的 (order_id, biz_type) 查重作为天然幂等闸, 重复触发走 existing 分支只同步状态不重复建单。渠道失败 → markRefundFailed 留记录 + 订单 refund_status=failed → 下一轮不再视为孤儿。
范围限定: 仅仲裁孤儿自动补建 (biz_type 无歧义)。非仲裁孤儿 (取消/客服关闭/结账) biz_type 无法从订单状态可靠区分, 维持只告警。
新增测试:
- TestAutoRebuildArbitrationOrphan: 仲裁孤儿补建成功
- TestNoRebuildForNonArbitrationOrphan: 非仲裁孤儿不补建
- TestRebuildArbitrationOrphanIdempotent: 连续扫描幂等
防御: payments==nil 时跳过补建并告警, 避免单测/未来构造 Job 时 panic。
go build / vet / test 通过。
|
2026-06-14 16:17:19 +08:00 |
|
yml
|
16b171442a
|
优化登录界面逻辑与 ui
|
2026-06-14 11:07:07 +08:00 |
|
yml
|
bd9c88d659
|
重构订单详情双视图: 抽取 useOrderActions + useOrderPaymentCashier 消除重复
OrderDetailView (PC) 与 MobileOrderDetailView 共 13 个 handler + 9 个 computed 逐字重复, 差异只在 UI 反馈原语 (ElMessage vs showToast)、二次确认交互、支付外壳。本次按 usePublishForm 范式抽取共享 composable, 业务逻辑收敛、UI 反馈靠 options 注入。
新增:
- useOrderActions: 订单详情业务逻辑 (load/cancel/pay/handoff/confirm/checkout 五件套/dispute 两件套/evidence upload), 持有状态/表单/computed, UI 反馈与二次确认通过 options 注入, 复用 useOrderSnapshot 的纯函数与 useOrderCheckoutSnapshot
- useOrderPaymentCashier: 通用支付收银台 (二维码渲染 + 轮询 + App 浏览器跳转兜底), 反馈靠 options 注入, 轮询间隔/二维码宽度/外部跳转参数化
改造:
- useMobilePaymentCashier 改为 useOrderPaymentCashier 的薄封装, 注入 vant toast/showDialog + 微信/支付宝内嵌浏览器跳转, 对外 API 名不变
- OrderDetailView 1505→1120, MobileOrderDetailView 1253→896, 视图净减 742 行重复代码
- 修复 PC 缺失的 rejectReason/disputeDescription 非空校验 (现网 PC 遗漏, 与 Mobile 对齐)
关键不变式:
- handleRejectCheckout 用现网 createDispute(type:'checkout_dispute') 语义, 未引入死代码 useSettlement 的 counterCheckout bug
- 轮询间隔 PC 3000ms / Mobile 2500ms 通过 pollIntervalMs 注入, 行为不变
- 二次确认 Mobile 4 项 (cancel/confirmCheckout/acceptCheckout/cancelDispute) 走 showDialog, PC 直接放行
- autoPay (route.query.pay==='1') 触发逻辑保留
chatPathPrefix 移入 options 并加 onCounterCheckoutSuccess/onRejectCheckoutSuccess/onCreateDisputeSuccess 三个可选 UI 回调: 修复 PC template @click="openOrderChat" 误把 PointerEvent 当路由前缀 (跳成 [object PointerEvent]), 以及 Mobile 修改结账/拒绝修正/提交申诉成功后 popup 不关闭的回归。
vue-tsc / eslint / vite build 全部通过。
|
2026-06-14 10:59:18 +08:00 |
|
yml
|
6ff7692f3e
|
支付确认强一致化: 订单推进与标 paid 合并为单事务
confirmPaid 原为「先 ConfirmPaidFromChannel 独立事务推进订单, 再 Updates 标 paid」两步非原子, 崩溃在中间会出现订单已 pending_handoff 但 payment 仍 paying 的不一致窗口, 恢复依赖渠道回调重发而非事务闭环。
改造:
- 新增 ConfirmPaidFromChannelTx(tx, orderID) 让 order 模块共享 payment 模块的外部事务, 订单推进与 payment 标 paid 落进同一事务, 崩溃一致性窗口消除
- NotifyNewConversation 提到事务提交后触发, 避免事务回滚后误发会话通知
- payment_orders 加行锁后 Updates, 防并发回调覆盖写
- 删除未使用的 providerBizNo 死参数
锁顺序全局一致 (order→listing→account→payment), 与 payment_start/refund/Cancel 路径无反向加锁, 无死锁风险。
新增集成测试:
- 正向: 验证 confirmPaid 后 order/listing/account/payment 全部正确推进
- 回滚: payment 更新失败时 order 不残留 pending_handoff, 验证事务原子性
go build/vet/test 通过。
|
2026-06-14 09:42:26 +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 |
|
yml
|
6ada7393ef
|
优化一键脚本
|
2026-06-11 08:46:10 +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 |
|