diff --git a/assets/js/pay-vip.js b/assets/js/pay-vip.js index ff368c2e..a721d8d4 100644 --- a/assets/js/pay-vip.js +++ b/assets/js/pay-vip.js @@ -135,7 +135,7 @@ // 与余额充值/购买积分弹窗完全一致的组件)。 if (methods.length > 1) { append(parent, node("div", "muted-2-color em09 mb6", "请选择支付方式")); - var row = node("div", "flex hh mb10"); + var row = node("div", "flex mb10"); methods.forEach(function (method, index) { var id = text(method.id || "balance"); var item = node("div", "flex jc hh payment-method-radio hollow-radio flex-auto pointer" + (index === 0 ? " active" : "")); diff --git a/inc/helpers/user-center-renderers/credits-balance.php b/inc/helpers/user-center-renderers/credits-balance.php index fbcd3b51..2feeb163 100644 --- a/inc/helpers/user-center-renderers/credits-balance.php +++ b/inc/helpers/user-center-renderers/credits-balance.php @@ -123,7 +123,7 @@ $currency = (string) ($currency_name ?? __('积分', 'aksrt'));
1) : ?>
-
+
$pm) : $pm_id = (string) ($pm['id'] ?? ''); $pm_logo = 'card_pass' === $pm_id ? 'pay-card-pass-logo.svg' : 'pay-balance-logo.svg'; diff --git a/inc/helpers/user-center-renderers/credits-wallet.php b/inc/helpers/user-center-renderers/credits-wallet.php index 7f19fce4..a71c5ee0 100644 --- a/inc/helpers/user-center-renderers/credits-wallet.php +++ b/inc/helpers/user-center-renderers/credits-wallet.php @@ -180,7 +180,7 @@ $charge_custom_block = static function () use ($mark, $charge_mark_html, $charge
1) : ?>
-
+
$m) : $method_id = (string) ($m['id'] ?? ''); $method_logo = $charge_method_logos[$method_id] ?? ''; diff --git a/tests/widget-system/card-pass-modal-redeem.test.cjs b/tests/widget-system/card-pass-modal-redeem.test.cjs index 200076ea..bfc347de 100644 --- a/tests/widget-system/card-pass-modal-redeem.test.cjs +++ b/tests/widget-system/card-pass-modal-redeem.test.cjs @@ -202,19 +202,21 @@ test('核销订单契约:金额恒为 0,订单名称按 note 生成', () => assert.match(userOrders, /永久/); }); -test('多渠道防挤压:图标 flex:none + 方法行 hh 换行(三弹窗一致)', () => { - // 图标禁用 flex 压缩(参考主题同场景存在变形缺陷,实测 6 渠道 360px - // 容器图标被压至 31px、宽形 stripe 被压成 35px 方形);并抵消 AKSRT - // bootstrap 全局 img{max-width:100%}(flex 压缩时把图标钳制到被压窄 - // 的项宽,实测 5 渠道 400px 弹窗图标被压成 16px 细条)。 +test('多渠道防挤压:图标 flex:none + 行不换行项目收缩成芯片(对齐 Zibll)', () => { + // 图标禁用 flex 压缩并抵消 AKSRT bootstrap 全局 img{max-width:100%} + // (flex 压缩时把图标钳制到被压窄的项宽,实测 5 渠道 400px 弹窗图标 + // 被压成 16px 细条)。行保持 Zibll 原样不换行:空间不足时项目收缩为 + // 「图标上/文字下」芯片(实测 5 渠道一行 5 个、6 渠道一行 6 个,图标 + // 恒为固有比例),绝不允许整行提前断行。 const rule = mainCss.match(/\.payment-method-radio img \{[\s\S]*?\n\}/); assert.ok(rule, 'main.css 应存在 .payment-method-radio img 规则块'); assert.match(rule[0], /height:\s*35px;/); assert.match(rule[0], /width:\s*auto;/); assert.match(rule[0], /max-width:\s*none;/); assert.match(rule[0], /flex:\s*none;/); - // 方法行启用 hh 换行(.flex.hh{flex-wrap:wrap}),放不下时整行换行。 - assert.match(wallet, /class="flex hh mb10"/); - assert.match(creditsRenderer, /class="flex hh mb10"/); - assert.match(payVipJs, /node\("div", "flex hh mb10"\)/); + // 方法行标记与参考主题逐字一致(.flex.mb10,无 hh)。 + assert.match(wallet, /class="flex mb10">/); + assert.match(creditsRenderer, /class="flex mb10">/); + assert.match(payVipJs, /node\("div", "flex mb10"\)/); + assert.doesNotMatch(payVipJs, /"flex hh mb10"/); });