fix(runtime): 按参考主题硬切换为 loader/main/auto_fun 单一 DOM 生命周期
- 删除 AksrtFrontend registry/rehydrate 双路架构及 build/public.js 拼包入口,
前台唯一初始路径为 PHP 本地栈(jQuery 1.9.1 → Bootstrap 3.4.1)
→ loader_js(_win/aksrtData 唯一注入)→ tbquire(['main']) → runtime/main.min.js
- window.auto_fun = debounce(z_auto_fun, 100) 为唯一重扫入口;所有模块改为
执行一次 + off/on('auto_fun.aksrt-*') 命名空间重扫,data/class 标记幂等
- 局部更新协议统一:HTML 注入 → post_ajax.ed → auto_fun();
远程 modal → loaded.bs.modal → auto_fun();JSON 成功 → zib_ajax.success
- 灯箱恢复 Miniimgbox/imgbox 唯一 owner(imgbox-container、a[data-imgbox]、
imgbox_data),删除 AksrtLightbox/data-aksrt-lightbox 第二实现及 CSS/overlay,
_win.imgbox* 重新接上 post-display 设置
- 死代码清理:runtime 下 11 组被自有实现替代的旧模块副本、无消费 vendored 库、
顶层 grade.min.js、revenue.js、无调用方的 aksrt_get_win_runtime_config(),
以及 loader 中 16 条死 mapping
- PHP 入队改为本地栈 + loader_js,routed/widget/submit 依赖统一换绑;
用户卡片发布按钮恢复 nav_user_newposts_btn 设置门控
- 测试对齐:新增 frontend-lifecycle-contract,重写 navigation/lazyload/toast/
auth-source/comment/page-display/post-visual 等断言为目标架构契约
验证:node --test widget-system+navigation 223 通过 0 失败;
构建脚本重建 main/imgbox min 与 CSS bundles;改动 PHP php -l、JS node --check
全部通过;git diff --check 干净;credits 重入 harness 通过。
This commit is contained in:
+45
-25
@@ -13,20 +13,37 @@ trait ScriptsPart1b {
|
||||
$base_uri = get_template_directory_uri();
|
||||
$version = AKSRT_VERSION;
|
||||
|
||||
// Keep the WordPress handle but make its modern core build the only runtime.
|
||||
$wp_scripts = wp_scripts();
|
||||
if (isset($wp_scripts->registered['jquery'])) {
|
||||
$wp_scripts->registered['jquery']->deps = ['jquery-core'];
|
||||
}
|
||||
// 本地运行时栈(与参考主题一致):jQuery 1.9.1 → Bootstrap → loader → main。
|
||||
wp_deregister_script('jquery');
|
||||
wp_register_script('jquery', $base_uri . '/assets/js/runtime/libs/jquery.min.js', [], '1.9.1', false);
|
||||
wp_enqueue_script('jquery');
|
||||
$public_filename = file_exists(get_template_directory() . '/assets/css/build/public.min.css')
|
||||
? 'public.min.css'
|
||||
: 'public.css';
|
||||
$public_bundle = get_template_directory() . '/assets/css/build/' . $public_filename;
|
||||
wp_enqueue_style(
|
||||
'bootstrap',
|
||||
$base_uri . '/assets/css/bootstrap.min.css',
|
||||
[],
|
||||
'3.4.1'
|
||||
);
|
||||
wp_enqueue_style(
|
||||
'fontawesome5',
|
||||
$base_uri . '/assets/fontawesome5/css/all.min.css',
|
||||
['bootstrap'],
|
||||
'5.15.4'
|
||||
);
|
||||
$main_css_path = get_template_directory() . '/assets/css/main.min.css';
|
||||
wp_enqueue_style(
|
||||
'aksrt-main',
|
||||
$base_uri . '/assets/css/main.min.css',
|
||||
['fontawesome5'],
|
||||
file_exists($main_css_path) ? (string) filemtime($main_css_path) : $version
|
||||
);
|
||||
wp_enqueue_style(
|
||||
'aksrt-public',
|
||||
$base_uri . '/assets/css/build/' . $public_filename,
|
||||
[],
|
||||
['aksrt-main'],
|
||||
file_exists($public_bundle) ? (string) filemtime($public_bundle) : $version
|
||||
);
|
||||
|
||||
@@ -52,6 +69,9 @@ trait ScriptsPart1b {
|
||||
);
|
||||
};
|
||||
|
||||
// 顶部导航用户卡片(legacy header-userbox 模块样式)。
|
||||
$enqueue_module('header-userbox');
|
||||
|
||||
if (!is_user_logged_in() || (bool) get_query_var('aksrt_sign')) {
|
||||
$auth_css = get_template_directory() . '/assets/css/routes/sign.css';
|
||||
wp_enqueue_style(
|
||||
@@ -82,7 +102,7 @@ trait ScriptsPart1b {
|
||||
wp_enqueue_script(
|
||||
'aksrt-vip-coordinator',
|
||||
$base_uri . '/assets/js/vip-purchase-coordinator.js',
|
||||
['aksrt-runtime'],
|
||||
['loader_js'],
|
||||
(string) filemtime($vip_coordinator),
|
||||
true
|
||||
);
|
||||
@@ -104,7 +124,7 @@ trait ScriptsPart1b {
|
||||
wp_enqueue_script(
|
||||
'aksrt-pay-vip',
|
||||
$base_uri . '/assets/js/pay-vip.js',
|
||||
['aksrt-runtime', 'aksrt-vip-coordinator'],
|
||||
['loader_js', 'aksrt-vip-coordinator'],
|
||||
(string) filemtime($vip_js),
|
||||
true
|
||||
);
|
||||
@@ -272,7 +292,7 @@ trait ScriptsPart1b {
|
||||
wp_enqueue_script(
|
||||
'aksrt-report',
|
||||
$base_uri . '/assets/js/report.js',
|
||||
['aksrt-runtime'],
|
||||
['loader_js'],
|
||||
filemtime($report_js_path) ?: $version,
|
||||
true
|
||||
);
|
||||
@@ -286,7 +306,7 @@ trait ScriptsPart1b {
|
||||
wp_enqueue_script(
|
||||
'aksrt-author',
|
||||
$base_uri . '/assets/js/author.js',
|
||||
['aksrt-runtime'],
|
||||
['loader_js'],
|
||||
(string) filemtime($author_js_path),
|
||||
true
|
||||
);
|
||||
@@ -374,7 +394,7 @@ trait ScriptsPart1b {
|
||||
wp_enqueue_script(
|
||||
'aksrt-order-center',
|
||||
$base_uri . '/assets/js/order-center.js',
|
||||
['aksrt-runtime'],
|
||||
['loader_js'],
|
||||
(string) filemtime($order_center_js),
|
||||
true
|
||||
);
|
||||
@@ -386,14 +406,14 @@ trait ScriptsPart1b {
|
||||
wp_enqueue_script(
|
||||
'aksrt-route-user-center-auth',
|
||||
$base_uri . '/assets/js/routes/user-center-auth.js',
|
||||
['aksrt-runtime'],
|
||||
['loader_js'],
|
||||
(string) filemtime($identity_js),
|
||||
true
|
||||
);
|
||||
}
|
||||
$user_center_deps = file_exists($identity_js)
|
||||
? ['aksrt-runtime', 'aksrt-route-user-center-auth']
|
||||
: ['aksrt-runtime'];
|
||||
? ['loader_js', 'aksrt-route-user-center-auth']
|
||||
: ['loader_js'];
|
||||
if ($has_orders_panel && wp_script_is('aksrt-order-center', 'registered')) {
|
||||
$user_center_deps[] = 'aksrt-order-center';
|
||||
}
|
||||
@@ -449,7 +469,7 @@ trait ScriptsPart1b {
|
||||
wp_enqueue_script(
|
||||
'aksrt-page-navs',
|
||||
$base_uri . '/assets/js/page-navs.js',
|
||||
['aksrt-runtime'],
|
||||
['loader_js'],
|
||||
(string) filemtime($page_navs_js),
|
||||
true
|
||||
);
|
||||
@@ -469,7 +489,7 @@ trait ScriptsPart1b {
|
||||
wp_enqueue_script(
|
||||
'aksrt-section-navs',
|
||||
$base_uri . '/assets/js/section-navs.js',
|
||||
['aksrt-runtime'],
|
||||
['jquery'],
|
||||
(string) filemtime($section_navs),
|
||||
true
|
||||
);
|
||||
@@ -479,7 +499,7 @@ trait ScriptsPart1b {
|
||||
wp_enqueue_script(
|
||||
'aksrt-posts-navs-page',
|
||||
$base_uri . '/assets/js/posts-navs-page.js',
|
||||
['aksrt-runtime'],
|
||||
['loader_js'],
|
||||
(string) filemtime($pn_js),
|
||||
true
|
||||
);
|
||||
@@ -515,7 +535,7 @@ trait ScriptsPart1b {
|
||||
wp_enqueue_script(
|
||||
'aksrt-ban-appeal-page',
|
||||
$base_uri . '/assets/js/ban-appeal-page.js',
|
||||
['aksrt-runtime'],
|
||||
['loader_js'],
|
||||
(string) filemtime($ba_js),
|
||||
true
|
||||
);
|
||||
@@ -538,7 +558,7 @@ trait ScriptsPart1b {
|
||||
wp_enqueue_script(
|
||||
'aksrt-messages',
|
||||
$base_uri . '/assets/js/messages.js',
|
||||
['aksrt-runtime'],
|
||||
['loader_js'],
|
||||
(string) filemtime($messages_js),
|
||||
true
|
||||
);
|
||||
@@ -552,7 +572,7 @@ trait ScriptsPart1b {
|
||||
wp_enqueue_script(
|
||||
'aksrt-share-data',
|
||||
$base_uri . '/assets/js/share-data-builder.js',
|
||||
['aksrt-runtime'],
|
||||
['loader_js'],
|
||||
(string) filemtime($share_data_js),
|
||||
true
|
||||
);
|
||||
@@ -566,7 +586,7 @@ trait ScriptsPart1b {
|
||||
wp_enqueue_script(
|
||||
'aksrt-poster-share',
|
||||
$base_uri . '/assets/js/poster-share.js',
|
||||
['aksrt-runtime', 'aksrt-share-data'],
|
||||
['loader_js', 'aksrt-share-data'],
|
||||
(string) filemtime($poster_js),
|
||||
true
|
||||
);
|
||||
@@ -623,7 +643,7 @@ trait ScriptsPart1b {
|
||||
wp_enqueue_script(
|
||||
'aksrt-cms-download',
|
||||
$base_uri . '/assets/js/cms-download.js',
|
||||
['aksrt-runtime'],
|
||||
['loader_js'],
|
||||
file_exists($cms_download_js_path) ? (string) filemtime($cms_download_js_path) : $version,
|
||||
true
|
||||
);
|
||||
@@ -652,7 +672,7 @@ trait ScriptsPart1b {
|
||||
wp_enqueue_script(
|
||||
'aksrt-credits',
|
||||
$base_uri . '/assets/js/credits.js',
|
||||
['aksrt-runtime', 'aksrt-vip-coordinator'],
|
||||
['loader_js', 'aksrt-vip-coordinator'],
|
||||
file_exists($credits_js_path) ? (string) filemtime($credits_js_path) : $version,
|
||||
true
|
||||
);
|
||||
@@ -665,7 +685,7 @@ trait ScriptsPart1b {
|
||||
wp_enqueue_script(
|
||||
'aksrt-signin',
|
||||
$base_uri . '/assets/js/signin.js',
|
||||
['aksrt-runtime'],
|
||||
['loader_js'],
|
||||
file_exists($signin_js_path) ? (string) filemtime($signin_js_path) : $version,
|
||||
true
|
||||
);
|
||||
@@ -684,7 +704,7 @@ trait ScriptsPart1b {
|
||||
wp_enqueue_script(
|
||||
'aksrt-user-badge-actions',
|
||||
$base_uri . '/assets/js/user-badge-actions.js',
|
||||
['aksrt-runtime'],
|
||||
['loader_js'],
|
||||
(string) filemtime($badge_actions_path),
|
||||
true
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user