Commit 8a64ce1f by pangchong

fix(editor): 修正默认 XML 文件导入及配置规则说明

- 删除了 .rules.md 中关于配置位置和 .env 文件配置的旧约束说明
- 优化 src/configs/index.ts 中 DEFAULT_XML_FILE 的导出格式,去除多余换行
- 调整 src/views/editor/functionals/index.ts 中通过 import.meta.glob 导入 XML 文件的格式,统一风格
- 修正编辑器加载 XML 模板时对 customCode 路径的拼接及默认 XML 文件的选择逻辑
- 增强代码可读性,确保根据环境变量正确加载对应环境下的 XML 模板
parent ecb0476b
...@@ -306,4 +306,3 @@ export const COMPOSITE_CONTAINER_MAP: Record<string, string[]> = { ...@@ -306,4 +306,3 @@ export const COMPOSITE_CONTAINER_MAP: Record<string, string[]> = {
- **配置位置约束(强制)**:针对不同环境(如 `bx``xm` 等)的编辑器渲染或行为参数配置,**必须且仅允许**统一写入各自环境目录下的配置文件中(例如 `src/bx/config/index.ts``src/xm/config/index.ts` 等),并在 `src/configs/index.ts` 中进行中转与兜底导出。 - **配置位置约束(强制)**:针对不同环境(如 `bx``xm` 等)的编辑器渲染或行为参数配置,**必须且仅允许**统一写入各自环境目录下的配置文件中(例如 `src/bx/config/index.ts``src/xm/config/index.ts` 等),并在 `src/configs/index.ts` 中进行中转与兜底导出。
- **禁止在 `.env` 中编写渲染配置****绝对禁止**将任何与编辑器视图渲染、业务呈现逻辑或默认文件名/文件内容相关的配置项写入项目根目录下的各个 `.env.*`(环境变量)文件中。根目录下的 `.env` 配置文件应当只保留环境区分(如 `VITE_CUSTOM_CODE`)以及基础 API 接口服务地址等系统底层变量。 - **禁止在 `.env` 中编写渲染配置****绝对禁止**将任何与编辑器视图渲染、业务呈现逻辑或默认文件名/文件内容相关的配置项写入项目根目录下的各个 `.env.*`(环境变量)文件中。根目录下的 `.env` 配置文件应当只保留环境区分(如 `VITE_CUSTOM_CODE`)以及基础 API 接口服务地址等系统底层变量。
...@@ -14,6 +14,4 @@ export const SHOW_SINGLE_CHILD_INDEX = ...@@ -14,6 +14,4 @@ export const SHOW_SINGLE_CHILD_INDEX =
/** /**
* 默认使用的本地 XML 模板文件名。 * 默认使用的本地 XML 模板文件名。
*/ */
export const DEFAULT_XML_FILE = export const DEFAULT_XML_FILE = customConfig && typeof customConfig.DEFAULT_XML_FILE !== 'undefined' ? customConfig.DEFAULT_XML_FILE : 'default.xml'
customConfig && typeof customConfig.DEFAULT_XML_FILE !== 'undefined' ? customConfig.DEFAULT_XML_FILE : 'default.xml'
...@@ -4,10 +4,11 @@ import type { XmlNode } from '@/types/xmlNode' ...@@ -4,10 +4,11 @@ import type { XmlNode } from '@/types/xmlNode'
import dtdJson from '@/assets/json/dtd.json' import dtdJson from '@/assets/json/dtd.json'
import { DEFAULT_XML_FILE } from '@/configs' import { DEFAULT_XML_FILE } from '@/configs'
// 导入通用及定制环境目录下的本地默认模板 XML 文本 // 导入通用及定制环境目录下的本地默认模板 XML 文本
const xmlModules = import.meta.glob([ const xmlModules = import.meta.glob(['../../../assets/file/*.xml', '../../../*/assets/file/*.xml'], {
'../../../assets/file/*.xml', query: '?raw',
'../../../*/assets/file/*.xml' import: 'default',
], { query: '?raw', import: 'default', eager: true }) as Record<string, string> eager: true
}) as Record<string, string>
/** /**
* 工卡 XML 编辑器核心业务逻辑 Hook * 工卡 XML 编辑器核心业务逻辑 Hook
...@@ -24,12 +25,13 @@ export function useEditor() { ...@@ -24,12 +25,13 @@ export function useEditor() {
window.$loading?.show('加载数据中…') window.$loading?.show('加载数据中…')
try { try {
loadDtdSchema(dtdJson as any) loadDtdSchema(dtdJson as any)
const customCode = import.meta.env.VITE_CUSTOM_CODE const customCode = import.meta.env.VITE_CUSTOM_CODE
const customXmlKey = customCode ? `../../../${customCode}/assets/file/${DEFAULT_XML_FILE}` : '' const customXmlKey = customCode ? `../../../${customCode}/assets/file/${DEFAULT_XML_FILE}` : ''
const commonXmlKey = `../../../assets/file/${DEFAULT_XML_FILE}` const commonXmlKey = `../../../assets/file/${DEFAULT_XML_FILE}`
let xmlContent = (customXmlKey && xmlModules[customXmlKey]) || xmlModules[commonXmlKey] || xmlModules['../../../assets/file/default.xml'] || '' let xmlContent =
(customXmlKey && xmlModules[customXmlKey]) || xmlModules[commonXmlKey] || xmlModules['../../../assets/file/default.xml'] || ''
try { try {
const remoteXml = await getEditorData() const remoteXml = await getEditorData()
if (remoteXml) { if (remoteXml) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment