mirror of
https://gitee.com/ulthon/ulthon_admin.git
synced 2026-11-08 12:00:49 +08:00
refactor(component): tagInput/propertyInput/tableData 模板改为懒加载异步获取
原实现三个组件在 JS 顶层用 $.ajax({async:false}) 同步拉取 .html 模板,
每个页面打开固定发 3 个同步请求(阻塞主线程,与组件是否被使用无关),
且路径硬编码 /static/ 与 __STATIC__(OSS 部署)脱节,模板 URL 无版本
参数存在与 js 缓存不同步的漂移问题,请求失败时静默渲染空白。
改造内容:
- 模板改为首次 render() 时异步获取,Deferred 缓存供同页多实例共享,
失败不缓存并在下次 render 自动重试,失败时 console.error + 提示
- 模板 URL 取 CONFIG.STATIC + CONFIG.STATIC_VERSION,layout 的
window.CONFIG 新增这两项注入;无注入时逐级回退 /static 与 VERSION,
兼容下游覆盖 layout 的旧页面
- 组件 CSS 由 _require.html 直接 link 引入(__STATIC__ + 版本键),
替代原 JS 动态注入
- render() 返回 Promise(resolve Vue 实例);仓库内调用均为
fire-and-forget,无兼容影响
This commit is contained in:
@@ -9,6 +9,9 @@
|
||||
<link rel="stylesheet" href="__STATIC__/admin/css/public.css?t={:get_site_version_key()}" media="all">
|
||||
<link rel="stylesheet" href="__STATIC__/common/css/theme/index.css?t={:get_site_version_key()}">
|
||||
<link rel="stylesheet" href="__STATIC__/plugs/wangeditor/style.css">
|
||||
<link rel="stylesheet" href="__STATIC__/plugs/lay-module/tagInput/tagInput.css?t={:get_site_version_key()}">
|
||||
<link rel="stylesheet" href="__STATIC__/plugs/lay-module/propertyInput/propertyInput.css?t={:get_site_version_key()}">
|
||||
<link rel="stylesheet" href="__STATIC__/plugs/lay-module/tableData/tableData.css?t={:get_site_version_key()}">
|
||||
|
||||
<!-- 基础js -->
|
||||
<script src="__STATIC__/plugs/jquery-3.4.1/jquery-3.4.1.min.js?t={:get_site_version_key()}"></script>
|
||||
|
||||
@@ -17,7 +17,13 @@
|
||||
IS_SUPER_ADMIN: "{$isSuperAdmin|default='false'}",
|
||||
VERSION: "{$version|default='1.0.0'}",
|
||||
CSRF_TOKEN: "{:token()}",
|
||||
PAGE_KEY_NAME:'{$pageKeyName|default=$Request.url}'
|
||||
PAGE_KEY_NAME:'{$pageKeyName|default=$Request.url}',
|
||||
// 静态资源根路径(与 __STATIC__ 模板替换一致,OSS 部署时指向 OSS),
|
||||
// 供 JS 内部动态拼接静态资源地址的组件使用(tagInput/propertyInput/tableData 等)
|
||||
STATIC: "__STATIC__",
|
||||
// 静态资源版本键,与 _require.html 中 js/css 的 ?t= 参数同源,
|
||||
// 保证动态请求的模板与引入的 js/css 缓存版本一致
|
||||
STATIC_VERSION: "{:get_site_version_key()}"
|
||||
};
|
||||
|
||||
var PATH_CONFIG = {
|
||||
|
||||
Reference in New Issue
Block a user