chore(branding): remove leftover upstream theme identifiers
The theme was renamed Zibll/子比 → AKSRT → Jio, but upstream branding survived the sweeps in CSS classes, the SVG sprite prefix, a persisted widget field ID, JS events, admin Vue class names, test infrastructure and docblocks. Renames: - zib-widget / zib-widget-wrap / zib-slider → jio-widget-box / jio-widget-box-wrap / jio-slider-box (jio-widget is taken by the modern widget shell, jio-box-* by the card primitives) - zib-partners-scroll + zps-* → jio-partners-scroll + jps-* - zib-combo-info-card + zci-* → jio-combo-info-card + jci-* - zibsvg- → jiosvg-, including the exported picker helpers and the fa-zibsvg- family-prefix guard - zibpay_type → pay_type; the dual-read fallback in PostQuery collapses to a single key - [zibajax="submit"] dropped (no PHP emitter); zib_ajax.success → jio_ajax.success - aks-* admin Vue classes → jio-* - zib_palette() → palette() User-facing vendor traces are gone: the floating "more" button default no longer ships a zibll.com link or 子比主题 marketing copy, the notice widget ships no preset promo entries, and the four 官网教程 links are removed from the post-list admin schema. Test infrastructure renamed to neutral names (docker-compose.reference.yml, Caddyfile, article-baseline.json, modern-widgets-contract.test.cjs) with their DB/volume/env/slug identifiers following. Kept intentionally, documented in tests/fixtures/README.md: the golden fixture reference fingerprint (a SHA-256 record of an external directory, read by validate-widget-golden / generate-widget-golden-fixture / audit-widget-system), the doesNotMatch guards that prove the old tokens are gone, and the reference theme's own meta key in the visual fixtures. No backward-compat or data migration: saved widget configs holding old icon keys or the old field ID silently lose them, per the project's rewrite-over-compatibility rule. Verified: 132/132 node contract tests, php tests/widget-system/run.php (146 assertions), audit-admin-contracts, audit-psr4-paths and validate-widget-golden all green; tracked bundles regenerated and in sync. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
1 parent
42cc64106d
commit
427968a721
188 files changed
+915
-967
No files matched your search
@@ -2,10 +2,10 @@
|
||||
* 卡密兑换渠道契约(三个购买弹窗 · 1:1 对齐参考主题)。
|
||||
*
|
||||
* 背景:余额卡片顶部的独立「卡密兑换」通用弹窗已删除,兑换入口收敛到
|
||||
* 三个购买弹窗的支付方式中(对齐参考主题 zibpay_get_payment_methods +
|
||||
* zibpay_is_allow_card_pass_pay 过滤器):
|
||||
* 三个购买弹窗的支付方式中(对齐参考实现的支付方式装配 +
|
||||
* 卡密支付开关过滤器):
|
||||
* 1) 余额充值弹窗(credits-wallet.php,服务端渲染)
|
||||
* 2) 购买积分弹窗(credits-balance.php,服务端渲染,Zibll points-pay modal 结构)
|
||||
* 2) 购买积分弹窗(credits-balance.php,服务端渲染,points-pay 弹窗结构)
|
||||
* 3) 会员购买/续费弹窗(VipServiceModal JSON 视图模型 + pay-vip.js 渲染)
|
||||
*
|
||||
* 后台语义:余额充值 → 卡密兑换 → 三个独立开关
|
||||
@@ -65,7 +65,7 @@ test('余额充值弹窗:卡密渠道为支付方式之一,卡号/卡密输
|
||||
assert.match(wallet, /\$charge_card_in_methods/);
|
||||
});
|
||||
|
||||
test('购买积分弹窗:Zibll points-pay modal 结构 + 卡密渠道', () => {
|
||||
test('购买积分弹窗:points-pay 弹窗结构 + 卡密渠道', () => {
|
||||
// 商品/自定义选择 + 支付方式 + hidden + 立即支付。
|
||||
assert.match(creditsRenderer, /data-jio-points-pay-modal/);
|
||||
assert.match(creditsRenderer, /data-jio-points-pay-form/);
|
||||
@@ -114,7 +114,7 @@ test('会员弹窗:卡密渠道注入与直兑分流(不创建支付订单
|
||||
assert.match(vipModal, /'currency_mark' =>/);
|
||||
// 后端防御:purchase() 拒绝 card_pass(卡密直兑走 redeem)。
|
||||
assert.match(vipPurchase, /jio_card_pass_redeem_required/);
|
||||
// 前端:Zibll initiate_pay_input 同构组件——payment-method-radio logo 行、
|
||||
// 前端:支付方式同构组件——payment-method-radio logo 行、
|
||||
// 我的余额盒(data-controller == balance)、卡密盒(password_box 类结构)、
|
||||
// hidden payment_method、initiate-pay 按钮。
|
||||
assert.match(payVipJs, /payment-method-radio hollow-radio flex-auto pointer/);
|
||||
@@ -128,11 +128,11 @@ test('会员弹窗:卡密渠道注入与直兑分流(不创建支付订单
|
||||
assert.match(payVipJs, /mt6 but jb-red initiate-pay btn-block radius/);
|
||||
assert.doesNotMatch(payVipJs, /uc-vip-shop__method|jio_vip_pay_method|jio-vip-submit/);
|
||||
// 按钮字样对齐参考主题:会员弹窗即 initiate_pay_input(4) 默认「立即支付」;
|
||||
// 无可用支付方式渲染 Zibll 同款 badg 提示(而非禁用按钮/自实现文案)。
|
||||
// 无可用支付方式渲染同款 badg 提示(而非禁用按钮/自实现文案)。
|
||||
assert.doesNotMatch(payVipJs, /cta_label/);
|
||||
assert.match(payVipJs, /canPurchase \? "立即支付"/);
|
||||
assert.match(payVipJs, /badg px12 c-yellow-2/, "暂时无法支付,请与客服联系");
|
||||
// 渠道展示名对齐参考主题 zibpay_get_payment_method_args(余额/微信/支付宝)。
|
||||
// 渠道展示名对齐参考实现的支付方式参数(余额/微信/支付宝)。
|
||||
assert.match(jioPay, /'balance'\s+=> __\('余额', 'jio'\)/);
|
||||
assert.match(jioPay, /'wechatpay'\s+=> __\('微信', 'jio'\)/);
|
||||
// 显隐:通用 data-controller(==/!=)匹配 + 卡密选中隐藏套餐。
|
||||
@@ -204,10 +204,10 @@ test('核销订单契约:金额恒为 0,订单名称按 note 生成', () =>
|
||||
assert.match(userOrders, /永久/);
|
||||
});
|
||||
|
||||
test('多渠道防挤压:图标 flex:none + 行不换行项目收缩成芯片(对齐 Zibll)', () => {
|
||||
test('多渠道防挤压:图标 flex:none + 行不换行项目收缩成芯片', () => {
|
||||
// 图标禁用 flex 压缩并抵消 Jio bootstrap 全局 img{max-width:100%}
|
||||
// (flex 压缩时把图标钳制到被压窄的项宽,实测 5 渠道 400px 弹窗图标
|
||||
// 被压成 16px 细条)。行保持 Zibll 原样不换行:空间不足时项目收缩为
|
||||
// 被压成 16px 细条)。行保持不换行:空间不足时项目收缩为
|
||||
// 「图标上/文字下」芯片(实测 5 渠道一行 5 个、6 渠道一行 6 个,图标
|
||||
// 恒为固有比例),绝不允许整行提前断行。
|
||||
const rule = mainCss.match(/\.payment-method-radio img \{[\s\S]*?\n\}/);
|
||||
|
||||
Reference in new issue
Block a user