kate522
|
aad83072a8
|
refactor(pay): 统一流水号,移除订单/流水/提现三类号码前缀
订单号、资金流水号、提现单号此前各自带前缀配置,同一笔业务在不同界面会
呈现多个号码口径,对账与客诉排查都要先做一次前缀换算。现收敛为单一流水号
分配器,不再按业务类型区分号码形态。
- 删除 payment_order_prefix / payment_flow_prefix /
payment_withdrawal_prefix 三项配置项及其生成、校验链路
- BusinessNumber::allocate() 成为唯一入口,输出 {YmdHis}{6 位随机},
共 20 位无前缀,满足 VARCHAR(32) 与网关 out_trade_no ≤ 32 的限制
- 订单、资金流水、提现、卡密渠道交易号四处生成点全部改走该分配器
- 后台支付中心表头「订单号 / 提现单号」统一为「流水号」
- 前台用户中心与订单卡片文案同步统一;前台订单详情合并为单行流水号,
账本流水号不再下发到前台,避免同一单据出现两个对外号码
- 同步更新 financial-flow / pay-card / card-pass-order-numbers 契约测试
与 BusinessNumberTest 断言
按用户要求不做双路逻辑与数据迁移,直接替换为统一方案,历史行不做转换。
验证:node --test tests/**/*.test.cjs 362/364 通过,新增 37 项契约;失败的
2 项在改动前的干净 HEAD 基线上同样失败(基线 327 项 / 失败 2 项),分别命中
遗留的 fa fa- 标记与 FA 版本号断言,与本次改动无关。phpunit 44 项 / 103
断言全部通过;php -l 全部改动的 PHP 文件通过。
|
2026-09-18 22:14:27 +08:00 |
|
kate522
|
d2447f8aa6
|
fix(pay): 修复后台收款接口显示顺序不可用并接入收银台排序
后台「收款接口 → 收款接口显示顺序」有三处缺陷叠加:
1) sortable 渲染组件读取 item.label,而 schema 写的是 title,导致 6 行
只剩上下箭头;
2) SchemaProvider 的 sortable 分支遍历 items 定义重建数组,而该字段的
键顺序本身就是配置值,用户排序被静默改回 schema 静态顺序;
3) 真正构建收银台支付方式列表的 aksrt_list_cash_payment_methods() 使用
硬编码顺序,Gateway::get_available()/apply_sdk_order() 那套排序逻辑
无任何调用方,配置对前台毫无影响。
改为:schema 项统一使用 label(JS 与 PHP 两处对齐);sortable 持久化按
提交键顺序重建,items 定义仅作白名单;新增唯一排序实现
aksrt_sort_payment_methods()(语义对齐参考主题 zibpay_get_payment_methods
+ pay_sdk_order 键顺序),并接入内容收银台、余额充值、购买积分与会员
购买四个入口。卡密输入盒改为按渠道存在与否判断,不再假定卡密固定在末位。
清理死代码:无调用方的 Gateway::get_available/apply_sdk_order/
get_status_summary、VipServicePackages 中不可达的支付方式列表回退分支、
零引用的 settings-defaults 模块及 schema/index.js 未使用的导出、支付
sortable 的 fields 死元数据、无拖拽实现却声明的 cursor:move。
未配置 pay_sdk_order 时顺序保持不变;未写数据迁移。
验证:php -l 8 个改动文件全部通过;新增 pay-sdk-order-contract 契约测试
(6 项);node --test tests/widget-system/*.test.cjs 301 项全部通过;
后台 SPA 已重新构建。
|
2026-09-18 19:01:19 +08:00 |
|
kate522
|
db0d63b99f
|
fix(pay): 会员卡密单密码默认关闭,卡密盒与其他弹窗一致显示卡号+密码
会员购买/续费弹窗卡密盒此前仅显示卡密输入,与其他两个弹窗(卡号+密码)
不一致。根因是 pay_vip_pass_charge_only_password 的默认值偏离参考主题:
- PaymentRuntime:vip 类型 only_password 由「未设置即视为开启」改为
!empty(),与其他两类型同构(参考主题 default false)
- ChargeCard:get_public_options 的 vip 回退值 only_password true→false
- SchemaPayment + recharge.js:会员卡密单密码模式开关 default true→false
- 契约测试同步锁定默认关闭与无 isset 回退
- admin SPA 重新构建
已保存过设置且该键被持久化为开启的站点,需在后台「余额充值 → 卡密
兑换 → 会员卡密单密码模式」手动关闭一次。
|
2026-09-18 17:26:50 +08:00 |
|
kate522
|
b88eab0bfe
|
feat(pay): 卡密兑换入口收敛到三个购买弹窗并对齐参考主题
- 移除余额卡片独立「卡密兑换」通用弹窗,兑换入口分布到充值/积分/会员三个弹窗的支付方式中
- 充值弹窗补齐卡密 logo 与仅卡密时的金额选择隐藏逻辑
- 积分购买弹窗 1:1 复刻参考主题 points-pay modal(商品档位/自定义/支付方式/立即支付),REST 改为 product+custom 契约
- 会员弹窗注入卡密渠道:视图模型透传 card_pass,前端渲染卡密盒并直兑 /pay/card-pass/redeem type=vip
- 后台卡密兑换拆分为余额/积分/会员三个独立开关,VIP 段旧会员卡密组清理
- REST type 改为必填(balance/vip/credits),三类型独立闸门
- 测试重写为 card-pass-modal-redeem 契约,321 项全部通过
|
2026-09-18 12:25:18 +08:00 |
|
kate522
|
64ed47165d
|
fix(payment): 卡密兑换开关收敛为唯一总开关
- 问题:积分卡密兑换报「积分卡密兑换未开启」,因 asset_points_card_enabled
与总开关并存为双重闸门;会员卡同样存在隐藏的第二开关 pay_vip_pass_charge_s。
- 修复:ChargeCard 类型闸门统一只消费后台「余额充值 → 卡密兑换」总开关;
积分卡仅额外要求积分系统可用(系统级依赖,非独立开关)。
- 死代码清理:PaymentRuntime 删除 benefit.pass_charge/pass_charge_desc 映射;
后台 schema 删除「卡密兑换会员」独立开关组与「启用积分卡密兑换」开关(双源同步);
vip options 收敛为仅 only_password 展示配置。
- 验证:php -l 4 文件无错;契约测试 59/59 通过;容器内探针实测
credits 类型闸门放行;SPA 已重建并同步运行副本。
|
2026-09-17 19:18:54 +08:00 |
|
kate522
|
3481620ed0
|
feat(payment): 通用卡密兑换弹窗并修正核销订单实付与订单名称
- /user/balance/ 余额卡片入口改为通用「卡密兑换」弹窗:请求不带类型,
后端按卡密自动识别余额/会员/积分;卡号输入恒展示且选填
- 后台「余额充值 → 卡密充值」语义更新为「卡密兑换」,开关更名
「启用卡密兑换功能」(设置键不变),双源 schema 同步并重建 SPA
- 删除死代码:credits-vip.php 死文件、credits-balance.php 内联积分
兑换块、/pay/card-pass/options 路由与 rest_options、labels 数组、
asset_points_card_description/password_only 死字段及内联块专属 CSS
- 卡密核销订单实付恒 0:create_redeem_order 源头写 0,UserOrders
对 card_pass 订单视图层归零覆盖历史行(不迁移数据)
- 订单名称按 note.meta 生成:卡密兑换-余额充值X / 卡密兑换-积分充值X /
购入[会员档位名]X天(永久)
- 新增契约 card-pass-universal-redeem.test.cjs,收紧 user-assets-layout
契约(禁 .uc-card-pass 根类回潮)
|
2026-09-17 19:04:47 +08:00 |
|
kate522
|
678143e7b9
|
feat(payment): 卡密管理改为独立页面并对齐参考主题
- 移除「余额充值」设置中的充值卡(card_pass_*)配置组,PHP schema 与 SPA mirror 双轨同步
- 重写后台卡密管理页:列表过滤/排序/搜索/批量删除/同款分页/点击复制、自动生成与导入、text/xls 导出
- ChargeCard 服务新增 generate_cards/rand_number/rand_password/delete_by_ids/get_export_rows,get_list 支持参考主题排序别名与标识过滤
- 删除无消费方的 /payment/charge-cards REST 路由及 batch_create/disable 死代码,数据层零迁移
|
2026-09-16 22:05:37 +08:00 |
|
kate522
|
ff11f3b156
|
fix(payment): 结算货币旧小写值导致枚举校验失败无法保存
paypal_currency/stripe_currency 由自由文本改为 select 后,旧存储值(如
stripe_currency=usd 小写)不通过枚举校验,收款接口页保存被 422 拦截。
为两个货币字段增加 case_insensitive 归一化:读取时归一为选项规范写法、
写入时归一化、校验时大小写不敏感放行,匹配不到回退默认 USD。
|
2026-09-16 19:56:51 +08:00 |
|
kate522
|
14f9534651
|
fix(payment): 充值商品选项旧字符串值导致假条目且不可删除
- SchemaProvider 读取时 group/repeater 字段忽略非数组旧值(textarea 时代的
字符串),回退默认数组,避免前端按字符渲染出 20+ 条假条目
- AksField group/repeater 渲染改为数组安全视图(非数组一律按空列表)
- 充值商品选项默认条数调整为 3 条(PHP 与前端 schema 同步)
|
2026-09-16 19:46:49 +08:00 |
|
kate522
|
a48007a44d
|
feat(payment): 支付&付费菜单按参考主题重构并新增提现策略页
- 子菜单重组为知识付费/余额充值/VIP会员/创作分成/推广返佣/收款接口/提现策略
- 收款接口页 1:1 复刻 Zibll 双下拉结构,仅保留支付宝/微信/PayPal/Stripe/易支付
- 订单前缀/流水号前缀/提现单号前缀配置保留并移入收款接口页
- 知识付费/推广返佣按参考主题全字段复刻,余额充值并入充值卡配置
- 新增 tabbed/between_number/page_select 表单控件及后端 pages 搜索源
- 清理旧 SPA 组件、无消费者 REST 端点与废弃配置键(不写双路兼容)
- 更新存量契约测试至新 schema 文件
|
2026-09-16 19:18:28 +08:00 |
|
kate522
|
44e165d34e
|
fix(comments): align image upload with Zibll
Unify comment image upload settings, REST permissions, preview, progress,
and response handling while removing obsolete compatibility paths.
|
2026-09-04 19:52:56 +08:00 |
|
kate522
|
4833053a5c
|
fix(email): complete mail settings and templates
|
2026-09-04 12:06:42 +08:00 |
|
kate522
|
5984d4e42d
|
fix(icons): 清理 FA4 残留图标类,统一为 Font Awesome 5 约定
- 通用 fa fa-X 前缀改为 fa fas fa-X(12 个生产文件)
- 重命名图标映射:fa-sign-in→fa-sign-in-alt、fa-envelope-o→far fa-envelope、
fa-trash-o→far fa-trash-alt、fa-file-image-o→far fa-file-image、
fa-dot-circle-o→far fa-dot-circle、fa-play-circle-o→far fa-play-circle、
fa-pencil→fas fa-pencil-alt
- 修复 FA5 中不存在的 fa-pencil-square→fas fa-edit
|
2026-09-02 21:48:42 +08:00 |
|
kate522
|
0985d0cb0a
|
feat(captcha): add provider configuration tabs
|
2026-09-02 16:55:57 +08:00 |
|
kate522
|
ff4ec1eb43
|
feat(captcha): 打通人机验证 11 个场景的前后端完整链路
- 统一验证入口 aksrt_require_captcha(),返回 true|WP_Error,启用场景配置缺失时 fail-closed 拒绝
- 前端公共 API 重构为 window.AKSRTCaptcha(verify/collect/reset/run),单飞锁防并发重复验证,一次性 proof 绑定浏览器 cookie+场景+服务商+主机名
- challenge/exchange REST 端点:challenge 原子占用防票据放大厂商调用,增加频率限制
- 新增 OAuth bind pass:服务端签发 5 分钟一次性令牌,绑定用户+服务商+浏览器,微信扫码延迟消费
- 覆盖场景:评论、登录、注册、绑定第三方、绑定手机、找回密码、修改密码、更改邮箱、资料下载、签到、前台投稿
- 移除 Service 层重复验证与 _auth_code_verified/_defer_login 等客户端可伪造标志,删除下载共享 pass 死代码
- 修复腾讯 TC3 签名 scope、Cloudflare action/cdata/hostname 严格校验、阿里云验签错误码映射
- 后台 Schema 保存对 secret 字段做掩码/保留合并;导入导出过滤 aksrt_captcha_config
- 重建 public bundle 与 admin SPA;新增 captcha 运行时/安全/业务契约测试与 harness
|
2026-09-02 13:03:24 +08:00 |
|
kate522
|
b8ef4d81a4
|
评论区硬切换实现
|
2026-08-30 17:34:29 +08:00 |
|
kate522
|
780e1eba21
|
优化了一些问题
|
2026-08-29 22:03:48 +08:00 |
|
kate522
|
af30159a03
|
优化了一些问题
|
2026-08-29 17:36:21 +08:00 |
|
kate522
|
88eb29c645
|
优化了一些问题fix(captcha)
|
2026-08-29 17:03:05 +08:00 |
|
kate522
|
50c5769d01
|
进行了一些优化
|
2026-08-27 03:27:26 +08:00 |
|
kate522
|
fbada8bd6a
|
进行了一些小修复
|
2026-08-26 19:51:31 +08:00 |
|
kate522
|
fb2bbb64c5
|
进行了一些小修复
|
2026-08-26 17:57:29 +08:00 |
|
kate522
|
d37c34f71c
|
进行了一些小修复
|
2026-08-26 14:21:32 +08:00 |
|
kate522
|
3dbd196e06
|
修复了一些问题
|
2026-08-25 18:31:49 +08:00 |
|
kate522
|
c8d199a694
|
修复了一些问题
|
2026-08-25 18:22:30 +08:00 |
|
kate522
|
07c4e969c3
|
新增全局流水号
|
2026-08-25 05:33:01 +08:00 |
|
kate522
|
9d3bfb91cd
|
进行了一些小优化
|
2026-08-24 17:35:46 +08:00 |
|
kate522
|
5cae5b5c93
|
积分与余额账务系统硬切重构
|
2026-08-24 15:59:11 +08:00 |
|
kate522
|
86692ff3f9
|
用户功能设置收口与废弃后台链路清理
|
2026-08-23 22:09:12 +08:00 |
|
kate522
|
af52f9e94d
|
登录注册体系的源码级硬切换
|
2026-08-23 20:30:01 +08:00 |
|
kate522
|
c6c2c0af6d
|
删除私信分支链路
|
2026-08-23 13:42:35 +08:00 |
|
kate522
|
31e185664a
|
fix
|
2026-08-22 18:54:12 +08:00 |
|
kate522
|
9375b1c30c
|
refactor(assets): vendor 资产迁入标准目录并全仓去除 zibll 标识
- assets/vendor 全量迁移: fontawesome5→assets/fontawesome5, css→assets/css,
js→assets/js/runtime(避开 14 个同名自有文件), img 合并去重→assets/img,
fonts→assets/fonts; 删除 assets/vendor
- libs 五个与 widgets/third-party 字节相同的库不重复入库, loader paths 改指向
- 运行时切换: _win.uri=assets 根, loader baseUrl=/js/runtime, enlighter 注入
路径同步; PHP 7 个引用文件切换并改名 $zibll_*→$runtime_*
- 去品牌: Qinver 头注释/品牌 console.log/演示链接清除, 默认文案中性化
- 功能标识符改名: zib__→aksrt__, zib_ajax→aksrt_ajax, window.zib→
window.aksrtLegacy, zibllblock/*→aksrtblock/*, .zib-widget→.aksrt-panel,
.zib-slider→.aksrt-slider, zib_menu_options meta 键等
- 自有 CSS 改名: legacy-utilities/compat-vars/footer shell
- admin SPA 重建; 契约测试同步(路径/断言/文件更名)
- 例外保留: tests/visual 对照环境与 fixtures 前缀(外部 Zibll 产品引用)
验证: php -l 133 个改动文件通过; runtime 86 个 JS node --check 通过;
契约测试 68/70(2 个失败经 stash 对照确认为存量问题)
|
2026-08-22 16:16:30 +08:00 |
|
kate522
|
e971c2b1da
|
修复了一些问题
|
2026-08-21 13:42:59 +08:00 |
|
kate522
|
3e6af7863d
|
修复了一些一些已知问题
|
2026-08-21 12:35:55 +08:00 |
|
kate522
|
4d4baa9cec
|
顶部多功能组件的图标卡片新增默认图标
|
2026-08-20 12:34:41 +08:00 |
|
kate522
|
304d0bde74
|
refactor(header): unify top icon-cards on single zib-widget path
|
2026-08-19 21:46:37 +08:00 |
|
kate522
|
9c827ff493
|
fix(user): rebuild badge modal ajax flow
|
2026-08-19 15:53:33 +08:00 |
|
kate522
|
d4a9b7fd98
|
fix(page-display): connect header component visibility settings
|
2026-08-19 13:35:31 +08:00 |
|
kate522
|
480e2bf07e
|
feat(admin): rebuild page display settings
|
2026-08-19 00:07:13 +08:00 |
|
kate522
|
a0b84977a2
|
feat(navigation): hard-switch to Zibll navigation and Font Awesome 5
|
2026-08-18 20:46:21 +08:00 |
|
kate522
|
0f2ac6c34a
|
feat(frontend): replace article system with Zibll 9.0
|
2026-08-18 16:06:47 +08:00 |
|
kate522
|
fb11a7ed0c
|
fix(frontend): remove residual post thumbnail lazy path
|
2026-08-18 01:52:00 +08:00 |
|
kate522
|
435ee1daa7
|
feat(frontend): replace lazy loading with zibll lazysizes
|
2026-08-18 01:33:38 +08:00 |
|
kate522
|
6c6c462df8
|
refactor: remove forum and topic feature chains
|
2026-08-17 14:52:19 +08:00 |
|
kate522
|
b501cf4611
|
feat: unify invite flow with referral ref
|
2026-08-17 13:49:59 +08:00 |
|
kate522
|
929603b9e2
|
feat: adjust affiliate commissions and withdrawal strategy
|
2026-08-16 23:11:01 +08:00 |
|
kate522
|
8799063c6c
|
feat: redesign promotion earnings cards
|
2026-08-16 20:15:56 +08:00 |
|
kate522
|
99db790a6f
|
fix: align affiliate settings schema
|
2026-08-16 18:47:43 +08:00 |
|
kate522
|
698a9beb74
|
feat: upgrade widgets and affiliate commission flow
|
2026-08-16 18:29:31 +08:00 |
|