xcbyy
|
1ff4da290a
|
feat(data): 新增历史数据归属订正脚本(默认 dry-run,--apply 写库)
- companions.user_id:按昵称唯一匹配用户回填(避免重复占用)
- finance_records.user_id:按充值/提现/订单/对手方规则回填,无法唯一确定则保留不填
- 默认仅预览,幂等可重复执行;新增 npm 脚本 backfill:ownership 与回归护栏
- 文档补充订正说明(79 套件/611 用例全绿)
|
2026-10-19 08:58:24 +08:00 |
|
xcbyy
|
c90b0bd44e
|
fix(order): 抢单收紧为仅「待接单」可抢,抢单池同步过滤
- claimOrder 状态闸门改为严格只允许 待接单(含 CAS 条件 status='待接单'),杜绝抢已在履约/已服务/已核销的订单
- getOrdersPool 仅返回未认领的 待接单 订单
- 种子数据新增一笔待接单订单用于演示抢单
- 更新/新增回归护栏 claim-status-gate.spec.ts(78 套件/608 用例全绿)
|
2026-10-19 08:54:28 +08:00 |
|
xcbyy
|
8edffbefa2
|
feat(pay): 接入微信支付V3原路退款(按支付渠道分流 + 幂等 + 退款回调)
- 新增微信退款客户端 createRefund/queryRefundByOutRefundNo(/v3/refund/domestic/refunds)
- 新增退款桥接模块与 payment_refunds 幂等退款记录表
- 订单退款按渠道分流:微信支付原路退回微信;余额支付退回钱包余额;微信退款失败(502)不回退余额,防重复退款
- 覆盖拒单/买家取消/仲裁全额与部分/超时自动退款;新增 /api/pay/wechat/refund-notify 回调
- 后台新增退款回调地址配置;文档补充退款验收说明
- 新增回归护栏 wechat-refund.spec.ts(77 套件/605 用例全绿)
|
2026-10-19 08:47:08 +08:00 |
|
xcbyy
|
e719de59a2
|
feat(mini): 平台规范与服务协议页面化(页内切换,替代弹窗)
- 个人中心'平台规范与服务协议'点击直接进入 /pages/common/protocol(不再 showActionSheet 选择)
- 协议页新增页内切换:用户服务协议 / 隐私保护指引(含暖阳主题适配)
- 新增回归护栏 protocol-page.spec.ts(76 套件/601 用例全绿)
|
2026-10-17 18:04:33 +08:00 |
|
xcbyy
|
2599dce315
|
feat(security): 三端闭环加固 + 微信提现打款/订阅消息落地
后端: 身份与归属鉴权收口; 资金安全(结算闸门/支付防篡改/报名费真实扣款/赠金/结算唯一入账/提现打款); 数据泄露与隐私; 登录与密钥安全(默认密钥闸门/登录限流); 可观测性; 启动自检.
微信: 商家转账到零钱提现打款闭环(含回调/查单/失败退回佣金); 订阅消息真实下发闭环与后台模板字段对齐.
后台: 财务/微信支付配置读取失败锁定; 看板/待办/走势去假数据; 打款与测试推送文案修正.
小程序: 请求层错误透传与登录过期提示; 多页失败反馈与乐观回滚; 帮助中心FAQ页面化.
测试: 新增 40+ 回归护栏与真实 MySQL 冒烟(75 套件/599 用例全绿).
|
2026-10-17 18:00:09 +08:00 |
|
xcbyy
|
78117bb4e1
|
feat: security hardening, wechat pay v3 platform cert integration, companion certification revocation, and audit closed-loop
|
2026-10-16 17:38:17 +08:00 |
|
xcbyy
|
3bf38db8b6
|
feat(order): complete 7.1 order full lifecycle state transitions, 15m/30m/48h auto-timeouts, expert reject/apply-complete, and partial refund arbitration
|
2026-10-14 15:52:56 +08:00 |
|
xcbyy
|
a14f27d641
|
feat(spec-3): complete section 3.1/3.2/3.3 activity verify settlement, role_flags, and distribution_relations
|
2026-10-14 11:41:03 +08:00 |
|
xcbyy
|
51c19d6063
|
feat(closed-loop): complete end-to-end closed loops across miniapp, backend, and admin
|
2026-10-14 10:13:50 +08:00 |
|
xcbyy
|
010edc130f
|
fix: 完善全系统业务闭环(大神入驻联动用户角色、服务评价人工下架监管、友圈搭子上车审核与抽屉)
|
2026-10-13 18:04:27 +08:00 |
|
xcbyy
|
c14a1a3474
|
fix(server): cast report id to string in route handler
|
2026-10-13 17:22:20 +08:00 |
|
xcbyy
|
173835dc4e
|
fix(business-loop): complete arbitration balance refund, withdrawal rejection compensation, admin activity takedown, and companion violation alerts
|
2026-10-13 17:18:11 +08:00 |
|
xcbyy
|
9e2c19088b
|
fix(report): optimize wechat toast length limit and add admin violation reports management center
|
2026-10-13 17:08:25 +08:00 |
|
xcbyy
|
56e672219e
|
fix(modal): resolve premature modal closing caused by unsupported click.self in wechat miniprogram
|
2026-10-13 16:54:55 +08:00 |
|
xcbyy
|
d08acc052a
|
feat(community): combine marquee scroll with detail modal for pinned notice
|
2026-10-13 16:35:35 +08:00 |
|
xcbyy
|
859b224d65
|
feat(expert): adapt expert detail page to dual-theme system with theme-warm support
|
2026-10-13 16:08:48 +08:00 |
|
xcbyy
|
1853e653fb
|
fix(core): comprehensive fix for state loss across activity, ticket, workspace, favorites and community
|
2026-10-13 16:01:19 +08:00 |
|
xcbyy
|
497fb65359
|
fix(community): persist post liked status in MySQL and local storage to prevent state loss on page switch
|
2026-10-13 15:46:04 +08:00 |
|
xcbyy
|
3d895a1a0a
|
fix(community): add missing heart and heartFilled icons to restore like button rendering
|
2026-10-13 15:37:07 +08:00 |
|
xcbyy
|
7a5e515b8b
|
feat(user): replace distribution modal with dedicated promote page
|
2026-10-13 15:17:15 +08:00 |
|
xcbyy
|
831dd4a493
|
fix(order-list): ensure back button returns to user center instead of home page
|
2026-10-13 15:04:32 +08:00 |
|
xcbyy
|
63b18512f6
|
fix(order-list): add immersive custom navigation bar and return button with dual-theme adaptation
|
2026-10-13 15:00:12 +08:00 |
|
xcbyy
|
c3e7bd016b
|
fix(user): fix missing FROM clause in getUserById SQL and add fallback for user 2006
|
2026-10-13 14:39:41 +08:00 |
|
xcbyy
|
3b0268ab10
|
feat(bill): convert bill records modal into dedicated independent page
|
2026-10-13 14:10:00 +08:00 |
|
xcbyy
|
736450973e
|
feat(admin): complete post management, finance csv export, and wechat message template config
|
2026-10-13 11:11:40 +08:00 |
|
xcbyy
|
3bb6f5a6be
|
fix(auth): resolve user 101 404 error by normalizing test user ID to 2006 and adding server fallback
|
2026-10-13 10:41:49 +08:00 |
|
xcbyy
|
661d0d2589
|
feat(withdraw): convert withdraw records modal into dedicated independent page
|
2026-10-13 10:06:15 +08:00 |
|
xcbyy
|
cf11d5654b
|
fix(withdraw): remove alipay/bank channels and enhance rules card text contrast in warm theme
|
2026-10-13 09:58:16 +08:00 |
|
xcbyy
|
26735530b4
|
fix(user): remove obsolete withdrawal modal and recompile mp-weixin to dedicated withdraw page
|
2026-10-13 09:44:13 +08:00 |
|
xcbyy
|
35a5a6670c
|
fix(withdraw): resolve remote 404 route, db reason column patch and avatar tmp path fallback
|
2026-10-13 09:33:29 +08:00 |
|
xcbyy
|
1fb0cc4273
|
feat(withdraw): build dedicated withdrawal page with optimized layout and multichannel support
|
2026-10-13 09:19:34 +08:00 |
|
xcbyy
|
e867488d0d
|
feat(expert): full closure of expert revenue trends, multichannel withdrawals, service manage, review reply and post manage
|
2026-10-13 09:13:06 +08:00 |
|
xcbyy
|
a004584109
|
fix(modal): restrict confirmText length to 4 chars and safeguard banner null access
|
2026-10-13 08:50:20 +08:00 |
|
xcbyy
|
6e78a7e4b7
|
feat(user): enable opening profile edit modal by clicking avatar or nickname
|
2026-10-13 08:44:36 +08:00 |
|
xcbyy
|
8d85ed54b2
|
feat(protocol): add dedicated full-text legal protocol page with smooth scroll view and link from login and user center
|
2026-10-13 08:35:47 +08:00 |
|
xcbyy
|
334b7a63b0
|
feat(auth): compact agreement layout to single-line and support flexible backend configuration for user agreement and privacy policy
|
2026-10-12 09:20:40 +08:00 |
|
xcbyy
|
f899829000
|
refactor(auth): simplify login page by removing redundant profile form and focusing on one-click auth
|
2026-10-12 09:02:27 +08:00 |
|
xcbyy
|
70623193a1
|
feat(auth): create dedicated official standard WeChat login page and remove popup modal
|
2026-10-10 17:48:35 +08:00 |
|
xcbyy
|
d7460f898d
|
feat(expert): create dedicated expert apply page and navigate from user center
|
2026-10-10 16:57:48 +08:00 |
|
xcbyy
|
37b52c1efe
|
feat(user): update login button label and integrate wechat native getPhoneNumber auth
|
2026-10-10 16:50:26 +08:00 |
|
xcbyy
|
593d44bdbd
|
feat(user): add logout, demo account switcher and guest state support
|
2026-10-10 16:20:55 +08:00 |
|
xcbyy
|
3a700c42a1
|
feat(activity): implement P4 member self-service leave and ticket refund channel
|
2026-10-10 15:56:55 +08:00 |
|
xcbyy
|
7ac81035b4
|
feat(order): support balance payment, dynamic marketing coupon recommendation, and quick activity picker
|
2026-10-10 15:37:41 +08:00 |
|
xcbyy
|
872af22c20
|
feat(config): add finance rules, activity rules, and real expert application flow
|
2026-10-10 14:06:29 +08:00 |
|
xcbyy
|
d7f5c31762
|
feat(safety): add expert skill tags and price range constraints configuration
|
2026-10-10 13:56:38 +08:00 |
|
xcbyy
|
2e726e125d
|
feat(config): implement dynamic security blocklist and home marketing popup with admin controls
|
2026-10-10 13:49:01 +08:00 |
|
xcbyy
|
df92166162
|
fix(banner): add nginx uploads proxy and resolve absolute image url for banners
|
2026-10-10 11:09:36 +08:00 |
|
xcbyy
|
c6efac2ee5
|
fix(admin): display numeric sortOrder tag instead of dot badge
|
2026-10-10 10:18:27 +08:00 |
|
xcbyy
|
8845fbe7cb
|
feat(community,faq): support dynamic community topics, notice, and FAQ center
|
2026-10-10 10:04:49 +08:00 |
|
xcbyy
|
e36e80c399
|
feat(safety): support full CRUD for approved commercial places and dynamic sync to uniapp
|
2026-10-10 09:52:42 +08:00 |
|