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 对照确认为存量问题)
This commit is contained in:
@@ -16,7 +16,7 @@ const controllerBase = read('src/Admin/ControllerBase.php')
|
||||
const provider = read('src/Admin/SchemaProvider.php')
|
||||
const settingsFacade = read('src/Settings/Settings.php')
|
||||
const scriptsPart1c = read('src/Core/ScriptsPart1c.php')
|
||||
const footerCss = read('assets/css/frontend/footer/zibll-shell.css')
|
||||
const footerCss = read('assets/css/frontend/footer/shell.css')
|
||||
const frontendBaseCss = read('assets/css/frontend/base.css')
|
||||
const headerMenuButtons = read('inc/helpers/aksrt-header-menu-buttons.php')
|
||||
const frontendRenderer = read('src/WidgetSystem/FrontendRenderer.php')
|
||||
@@ -29,7 +29,7 @@ const vipCardRenderer = read('src/Content/VipServiceModal.php')
|
||||
const vipModalCss = read('assets/css/frontend/vip-modal.css')
|
||||
const payVipJs = read('assets/js/pay-vip.js')
|
||||
const modalRuntimeJs = read('assets/js/core/modal-runtime.js')
|
||||
const zibllMainCss = read('assets/vendor/zibll/css/main.css')
|
||||
const legacyMainCss = read('assets/css/main.css')
|
||||
|
||||
function activeRepositorySource() {
|
||||
const roots = ['assets/admin/src', 'assets/js', 'inc', 'src', 'templates']
|
||||
@@ -66,7 +66,7 @@ test('page display exposes exactly eight ordered routes', () => {
|
||||
assert.deepEqual(routeOrder, expected)
|
||||
})
|
||||
|
||||
test('top-level field IDs match the Zibll V9.0 eight-page contract', () => {
|
||||
test('top-level field IDs match the legacy V9.0 eight-page contract', () => {
|
||||
assert.deepEqual(topLevelFieldIds('header_nav'), [
|
||||
'header_theme_custom', 'header_theme_bg_custom', 'header_theme_bg', 'header_theme_color_custom',
|
||||
'header_layout', 'mobile_header_layout', 'mobile_navbar_align', 'nav_fixed', 'nav_scroll_down_hide',
|
||||
@@ -131,7 +131,7 @@ test('VIP navigation purchase switches are saved and consumed end to end', () =>
|
||||
assert.match(headerNavbar, /!empty\(\$vs\['enabled'\]\) && !empty\(\$vs\['nav_user_pay_vip'\]\)/)
|
||||
})
|
||||
|
||||
test('header VIP hover cards match the Zibll markup and style contract', () => {
|
||||
test('header VIP hover cards match the legacy markup and style contract', () => {
|
||||
assert.match(headerMenuButtons, /<span class="hover-show inline-block navbar-vip-hover">/)
|
||||
assert.match(headerMenuButtons, /<div class="hover-show-con sub-menu sub-vip-card">/)
|
||||
assert.match(vipCardRenderer, /aksrt_get_lazy_attr\('lazy_other', \$icon_url, 'img-icon'\)/)
|
||||
@@ -146,15 +146,15 @@ test('header VIP hover cards match the Zibll markup and style contract', () => {
|
||||
assert.doesNotMatch(vipModalCss, /\.navbar-vip-hover\.hover-show/)
|
||||
assert.doesNotMatch(vipModalCss, /\.sub-vip-card/)
|
||||
assert.doesNotMatch(vipModalCss, /\.vip-card\.vip-theme[12]/)
|
||||
assert.match(zibllMainCss, /\.sub-vip-card\s*\{[^}]*font-size:\s*12px;[^}]*padding:\s*0\s*!important;/s)
|
||||
assert.match(zibllMainCss, /\.sub-vip-card \.vip-card\s*\{[^}]*display:\s*inline-block;[^}]*width:\s*240px;[^}]*margin:\s*5px;/s)
|
||||
assert.match(zibllMainCss, /\.sub-vip-card \.vip-baicon\.abs-center\s*\{[^}]*font-size:\s*10em;[^}]*left:\s*55%;/s)
|
||||
assert.match(zibllMainCss, /\.sub-vip-card \.vip-img\s*\{[^}]*display:\s*none;/s)
|
||||
assert.match(legacyMainCss, /\.sub-vip-card\s*\{[^}]*font-size:\s*12px;[^}]*padding:\s*0\s*!important;/s)
|
||||
assert.match(legacyMainCss, /\.sub-vip-card \.vip-card\s*\{[^}]*display:\s*inline-block;[^}]*width:\s*240px;[^}]*margin:\s*5px;/s)
|
||||
assert.match(legacyMainCss, /\.sub-vip-card \.vip-baicon\.abs-center\s*\{[^}]*font-size:\s*10em;[^}]*left:\s*55%;/s)
|
||||
assert.match(legacyMainCss, /\.sub-vip-card \.vip-img\s*\{[^}]*display:\s*none;/s)
|
||||
assert.match(headerCss, /\.navbar-top \.aksrt-navbar-actions \.navbar-vip-hover\s*\{[^}]*align-self:\s*stretch;[^}]*overflow:\s*visible;/s)
|
||||
assert.match(headerCss, /\.navbar-top \.aksrt-navbar-actions \.navbar-vip-hover > \.sub-vip-card\s*\{[^}]*top:\s*100%;[^}]*right:\s*0;[^}]*left:\s*auto;[^}]*max-width:\s*calc\(100vw - 24px\);/s)
|
||||
})
|
||||
|
||||
test('VIP purchase modal matches Zibll desktop-center and mobile-bottom positioning', () => {
|
||||
test('VIP purchase modal matches legacy desktop-center and mobile-bottom positioning', () => {
|
||||
const purchaseModal = payVipJs.slice(payVipJs.indexOf('function vipPay('), payVipJs.indexOf('function onDocClick('))
|
||||
|
||||
assert.doesNotMatch(purchaseModal, /mobileBottom:\s*false/)
|
||||
|
||||
Reference in New Issue
Block a user