refactor: rename the theme brand and every identifier from AKSRT to Jio
Full-project rename. `git grep -i aksrt` is now empty apart from the
DBMigrator 3.3.0 changelog note that documents the rename itself.
Code identifiers
- PHP namespace AKSRT\ -> Jio\ (composer PSR-4 + 378 declarations)
- global constants AKSRT_* -> JIO_* (VERSION/DIR/URI, PAY_TYPE_*, CAPTCHA_*)
- procedural functions, hooks, options, meta keys, table names,
cookies, query vars, ajax actions and nonces: aksrt_ -> jio_
- text domain aksrt -> jio; Theme Name -> Jio
- JS globals: aksrtData/aksrtAdminData/... -> jioData/jioAdminData/...,
window.AKSRTCaptcha & friends -> window.JioCaptcha, Aksrt* -> Jio*
- Vue components Aks*.vue -> Jio*.vue (15 files renamed + imports)
- CSS classes/data-attrs/custom properties: aksrt- -> jio-
- REST namespace aksrt/v1 -> jio/v1 (incl. payment gateway callbacks)
Storage layer
- DB tables {prefix}aksrt_* -> {prefix}jio_*; SCHEMA_VERSION 3.2.0 -> 3.3.0
so dbDelta creates the new names on install
- widget id_base aksrt_widget_* -> jio_widget_*
- uninstall.php drop list rebuilt from the actual migrator tables
(dropped 3 stale entries, added the 17 missing ones)
Removed
- hardcoded https://api.aksrt.com/version.json default update endpoint;
get_endpoint() now reads the 「更新端点」 setting and do_check() no-ops
when it is empty
Files renamed: inc/helpers/aksrt-*.php -> jio-*.php (54),
assets/admin/src/components/form/Aks*.vue -> Jio*.vue (15).
Build artifacts regenerated: assets/css/build, assets/js/runtime,
assets/admin/build.
Verified: audit-psr4-paths errors=0, audit-admin-contracts errors=0
(warnings=56, unchanged baseline), 813/813 widget-system tests,
44/44 phpunit, php -l clean across all PHP.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
1 parent
5b16bc6e15
commit
35bb96e82f
997 files changed
+28216
-28188
No files matched your search
@@ -9,8 +9,8 @@
|
||||
* 的 opacity:0 形成隐形遮罩 → 整页所有按钮不可点击(2026-09-17 实测故障)。
|
||||
*
|
||||
* 因此 credits.css 必须以 (0,2,0) 特异性压制:
|
||||
* .modal[data-aksrt-charge-modal] { display: none; }
|
||||
* .modal[data-aksrt-charge-modal].in { display: flex; }
|
||||
* .modal[data-jio-charge-modal] { display: none; }
|
||||
* .modal[data-jio-charge-modal].in { display: flex; }
|
||||
* 展示态由 credits.js 自包含开关的内联 display:flex 驱动(不依赖
|
||||
* jQuery/Bootstrap 运行时;block 会破坏 .flex.jc 双轴居中——
|
||||
* .modal.flex .modal-dialog{margin:0} 在 block 下使对话框顶在左上角),
|
||||
@@ -30,32 +30,32 @@ const creditsCss = read('assets', 'css', 'routes', 'user-center', 'credits.css')
|
||||
const balanceRest = read('src', 'Credits', 'BalanceServiceRest.php');
|
||||
|
||||
test('弹窗壳为 Zibll refresh_modal 同构静态壳并带 data 钩子', () => {
|
||||
assert.match(wallet, /class="modal flex jc fade"[^>]*data-aksrt-charge-modal/);
|
||||
assert.match(wallet, /data-aksrt-charge-form/);
|
||||
assert.match(wallet, /class="modal flex jc fade"[^>]*data-jio-charge-modal/);
|
||||
assert.match(wallet, /data-jio-charge-form/);
|
||||
assert.match(wallet, /data-dismiss="modal"/);
|
||||
assert.match(wallet, /initiate-pay/);
|
||||
});
|
||||
|
||||
test('弹窗壳静止态必须被 credits.css 显式隐藏(.flex 覆盖回归护栏)', () => {
|
||||
// (0,2,0) 特异性压制 main.css 的 .flex{display:flex}。
|
||||
assert.match(creditsCss, /\.modal\[data-aksrt-charge-modal\]\s*\{\s*display:\s*none;/);
|
||||
assert.match(creditsCss, /\.modal\[data-jio-charge-modal\]\s*\{\s*display:\s*none;/);
|
||||
// 打开态必须是 flex 而非 block:.modal.flex .modal-dialog{margin:0} 在
|
||||
// block 下使对话框顶在左上角(无头 Chrome 几何实证),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;/);
|
||||
assert.match(creditsCss, /\.modal\[data-jio-charge-modal\]\.in\s*\{\s*display:\s*flex;/);
|
||||
assert.doesNotMatch(creditsCss, /\.modal\[data-jio-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;/);
|
||||
assert.match(balance, /class="modal flex jc fade"[^>]*data-jio-points-pay-modal/);
|
||||
assert.match(creditsCss, /\.modal\[data-jio-points-pay-modal\]\s*\{\s*display:\s*none;/);
|
||||
assert.match(creditsCss, /\.modal\[data-jio-points-pay-modal\]\.in\s*\{\s*display:\s*flex;/);
|
||||
});
|
||||
|
||||
test('开关自包含:不依赖 jQuery/Bootstrap modal 运行时', () => {
|
||||
assert.match(creditsJs, /function openChargeModal/);
|
||||
assert.match(creditsJs, /function closeChargeModal/);
|
||||
assert.match(creditsJs, /data-aksrt-charge-open/);
|
||||
assert.match(creditsJs, /data-jio-charge-open/);
|
||||
// 动态创建遮罩层(bootstrap.min.css 已有 .modal-backdrop 规则)。
|
||||
assert.match(creditsJs, /modal-backdrop fade in/);
|
||||
// 充值弹窗开关不得回退到 jQuery modal 运行时(时序异常时弹窗打不开)。
|
||||
|
||||
Reference in new issue
Block a user