确保username参数存在,避免因为空值造成接口调用失败 feat(editor): 重构富文本编辑器组件并优化图片上传逻辑 - 使用 Composition API 重构代码结构,提升可维护性 - 改进图片上传功能,增强对 quill 实例的安全访问 - 更新样式排版,提高组件可读性和一致性 refactor(file-upload): 移除旧代理引用,使用 modern Vue API 替换 `proxy` 调用为 `modal` 插件直接调用,提升代码清晰度与健壮性 refactor(image-upload): 替换旧实例调用方式,强化错误提示机制 统一使用 `modal` 进行消息提示和加载状态控制,改善用户体验 refactor(tree-select): 引入 Composition API 优化节点操作逻辑 移除 `getCurrentInstance` 的不必要使用,改为明确的模板引用管理 chore(main): 添加 util._extend 补丁以消除 Node.js 环境警告 解决开发环境下由于 Node.js 内建模块缺失造成的运行时警告问题 feat(template): 完善跌倒/坠床评估护理记录单模板 - 增加详细注释说明各部分作用,便于后续维护 - 明确组件名称为中文,利于业务识别 - 丰富表单交互细节及数据处理逻辑,支持动态打分、措施选择等功能 refactor(template-index): 加强模板组件自动注册逻辑 增加组件 name 属性校验,防止无效或匿名组件被注册到全局
42 lines
1.2 KiB
JavaScript
42 lines
1.2 KiB
JavaScript
/**
|
|
* 模板组件注册模块
|
|
* 动态引入 template 目录下的所有 .vue 文件,并将它们注册为全局组件
|
|
*/
|
|
|
|
// 动态引入 template 目录下的所有 .vue 文件(包括中文命名的文件)
|
|
// 使用 { eager: true } 表示立即加载所有匹配的文件
|
|
const templates = import.meta.glob('./*.vue', { eager: true });
|
|
|
|
// 存储所有加载的组件
|
|
const components = [];
|
|
|
|
// 遍历所有引入的文件
|
|
for (const path in templates) {
|
|
try {
|
|
// 获取组件的默认导出
|
|
const component = templates[path].default;
|
|
|
|
// 检查组件是否有 name 属性,如果没有则跳过
|
|
if (component && component.name) {
|
|
components.push(component);
|
|
} else {
|
|
console.warn(`组件 ${path} 缺少 name 属性,将不会被注册`);
|
|
}
|
|
} catch (error) {
|
|
console.error(`加载组件 ${path} 时出错:`, error);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* 注册所有组件到 Vue 应用实例
|
|
* @param {Object} app - Vue 应用实例
|
|
*/
|
|
const registerComponents = (app) => {
|
|
components.forEach((component) => {
|
|
// 使用组件的 name 属性作为组件名称进行注册
|
|
app.component(component.name, component);
|
|
});
|
|
};
|
|
|
|
// 导出组件数组和注册函数
|
|
export { components, registerComponents }; |