fix(frontend): 购买积分弹窗壳静止态隐藏,修复整页不可点击回归

根因与 2026-09-17 充值弹窗故障同构:新增的购买积分弹窗壳同为服务端
静态输出(.modal.flex.jc.fade),credits.css 仅对充值壳做了静止态
display:none 压制,积分壳被 main.css 的 .flex{display:flex} 拉起永久
铺满全屏,叠加 .fade 的 opacity:0 形成隐形遮罩拦截整页点击。

修复:credits.css 追加 .modal[data-aksrt-points-pay-modal]{display:none}
与 .in{display:flex};打开态由 initPointsPay 的内联 display:flex 驱动,
关闭撤除内联样式后即回到隐藏规则。balance-charge-modal 契约测试同步
纳入积分壳护栏,防同类回归。
This commit is contained in:
2026-09-18 12:31:38 +08:00
parent b88eab0bfe
commit e72d0710e6
2 changed files with 17 additions and 0 deletions
+11
View File
@@ -179,6 +179,17 @@
display: flex;
}
/* 购买积分弹窗壳与充值弹窗同构(服务端静态输出 .modal.flex.jc.fade),
静止态同样必须显式隐藏,否则 .flex 工具类会使其铺满全屏形成隐形遮罩,
拦截整页点击(2026-09-18 实测回归)。打开态由 initPointsPay 的内联
display:flex 驱动,关闭撤除内联样式后即回到隐藏规则。 */
.modal[data-aksrt-points-pay-modal] {
display: none;
}
.modal[data-aksrt-points-pay-modal].in {
display: flex;
}
.balance-charge-form .zib-widget {
clear: both;
background-color: var(--main-bg-color);
@@ -43,6 +43,12 @@ test('弹窗壳静止态必须被 credits.css 显式隐藏(.flex 覆盖回归
// .flex.jc 双轴居中(Zibll 生产环境即此形态)。
assert.match(creditsCss, /\.modal\[data-aksrt-charge-modal\]\.in\s*\{\s*display:\s*flex;/);
assert.doesNotMatch(creditsCss, /\.modal\[data-aksrt-charge-modal\]\.in\s*\{\s*display:\s*block;/);
// 购买积分弹窗壳同构(服务端静态输出 .modal.flex.jc.fade),静止态同样
// 必须显式隐藏,否则隐形遮罩拦截整页点击(2026-09-18 实测回归)。
const balance = read('inc', 'helpers', 'user-center-renderers', 'credits-balance.php');
assert.match(balance, /class="modal flex jc fade"[^>]*data-aksrt-points-pay-modal/);
assert.match(creditsCss, /\.modal\[data-aksrt-points-pay-modal\]\s*\{\s*display:\s*none;/);
assert.match(creditsCss, /\.modal\[data-aksrt-points-pay-modal\]\.in\s*\{\s*display:\s*flex;/);
});
test('开关自包含:不依赖 jQuery/Bootstrap modal 运行时', () => {