Commit Graph

863 Commits

Author SHA1 Message Date
“chenhuachun”
84593e1787 ci: 👷commit 2026-09-02 11:20:45 +08:00
“chenhuachun”
ece2ac6050 ci: 👷commit 2026-08-31 16:04:35 +08:00
“chenhuachun”
d7be94f1cc ci: 👷commit 2026-08-31 11:04:03 +08:00
“chenhuachun”
dcb6b58fa6 feat(core): 实现项目文件路径和路由路径规范管理
- 新增文件路径和路由路径的规范校验及处理工具函数
- 支持基于文件路径生成页面路由,避免硬编码id路径
- 新增项目文件索引,支持通过路径快速定位页面和区块
- 修改生成器以支持基于路径的区块导入路径解析
- 项目模型新增路径校验,拒绝名称和路径冲突的页面和区块
- 支持区块和页面创建更新时自动路径映射及唯一路径校验
- 设计器界面完善文件路径输入及校验反馈
- 生成源码页面路径改为显示相对源码根目录的路径
- 新增相关单元测试覆盖路径处理和名称冲突校验功能
- 调整生成模块支持传入项目参数以完成路径索引辅助解析
2026-08-31 11:00:17 +08:00
“chenhuachun”
feba0d1ec9 ci: 👷commit 2026-08-27 16:05:14 +08:00
“chenhuachun”
81af1354f5 ci: 👷commit 2026-08-27 15:06:57 +08:00
“chenhuachun”
60abcd4586 chore(release): 发布版本 0.19.20
- 更新 charts 包版本号至 0.19.20
- 更新 coder 包版本号至 0.19.20
- 更新 core 包版本号至 0.19.20
- 更新 designer 包版本号至 0.19.20
- 更新 icons 包版本号至 0.19.20
- 更新 materials 包版本号至 0.19.20
- 更新 parser 包版本号至 0.19.20
- 更新 renderer 包版本号至 0.19.20
- 更新 ui 包版本号至 0.19.20
- 更新 uni 包版本号至 0.19.20
- 更新 utils 包版本号至 0.19.20
2026-08-27 13:48:46 +08:00
“chenhuachun”
e6603b5504 ci: 👷commit 2026-08-27 10:42:00 +08:00
“chenhuachun”
1b7c2bda34 ci: 👷commit 2026-08-26 15:37:17 +08:00
“chenhuachun”
1a44f96b47 ci: 👷commit 2026-08-25 14:39:43 +08:00
“chenhuachun”
26dde6ed79 ci: 👷commit 2026-08-25 14:20:20 +08:00
“chenhuachun”
1c9056a877 ci: 👷commit 2026-08-24 20:43:26 +08:00
“chenhuachun”
b315b88d0f ci: 👷commit 2026-08-23 14:50:14 +08:00
“chenhuachun”
6137001444 ci: 👷commit 2026-08-19 08:46:29 +08:00
“chenhuachun”
d7040b389d fix(renderer): 修复 async setup 中的 expose 行为及模板 ref 限制
- 修改 setup 签名,去除参数默认值,避免 Vue 误判 setupContext
- 在第一个 await 前主动调用 setupContext.expose,确保暴露属性即时生效
- 通过动态 getter 暴露声明的 expose 项,兼容后续 getter 定义
- 修正 Composition 生命周期异步执行的 warn 格式
- 添加测试用例,验证 async setup 模板 ref 仅暴露 expose 列表中的成员,屏蔽其它属性
2026-08-18 20:53:15 +08:00
“chenhuachun”
2f42d4f18d ci: 👷commit 2026-08-18 12:30:26 +08:00
“chenhuachun”
6707651fec ci: 👷commit 2026-08-17 17:30:02 +08:00
“chenhuachun”
b68161513a ci: 👷commit 2026-08-16 13:50:59 +08:00
“chenhuachun”
eba0c38e57 ci: 👷commit 2026-08-16 01:01:56 +08:00
“chenhuachun”
88d0f3b3fa ci: 👷commit 2026-08-14 16:33:25 +08:00
“chenhuachun”
e7b08aa04f ci: 👷commit 2026-08-14 15:49:47 +08:00
“chenhuachun”
de0ee2d8d9 ci: 👷commit 2026-08-14 14:19:38 +08:00
“chenhuachun”
bc9071a6f4 ci: 👷commit 2026-08-11 15:14:42 +08:00
“chenhuachun”
145ea74a42 ci: 👷commit 2026-08-09 17:02:18 +08:00
“chenhuachun”
6f6a42bdc6 ci: 👷commit 2026-08-09 15:22:41 +08:00
“chenhuachun”
4e215bfda4 ci: 👷commit 2026-08-09 13:00:20 +08:00
“chenhuachun”
2679a24fe1 ci: 👷commit 2026-08-08 14:48:19 +08:00
“chenhuachun”
1c0fdea2da ci: 👷commit 2026-08-08 10:29:59 +08:00
“chenhuachun”
613d5f8734 fix(provider): 优化区块文件加载错误处理机制
- 调整异步加载区块文件逻辑,改为统一使用 await
- 添加获取文件失败时的错误处理,调用 errorHandler 并传入错误信息
- 增强区块不存在时的提示,明确指出具体区块 ID
- 保持原有调用链与返回类型不变,提高代码鲁棒性
2026-08-05 22:35:55 +08:00
“chenhuachun”
1c8f88e507 fix(renderer): 修正 scoped CSS 中无父选择器的编译行为
- 当无父选择器时,按 Vue 官方 scoped 语义将 :deep(.child) 转换为 [scopeId] .child,
  使 scopeId 作为前缀匹配组件根元素内部目标元素
- 修改 compileScoped 以支持上述行为,确保样式正确作用于子元素
- 增加单元测试校验无父选择器的 scoped CSS 转换结果
- 增加运行时集成测试,验证组件根元素携带 scope 属性,
  内部元素不携带且样式选择器匹配正确
- 优化部分测试代码格式,提升一致性和可读性
2026-08-05 11:27:49 +08:00
“chenhuachun”
7fa3e1ffbd ci: 👷commit 2026-08-01 14:30:58 +08:00
“chenhuachun”
d0b3091b2a ci: 👷commit 2026-08-01 12:40:02 +08:00
“chenhuachun”
eb891ed6ce feat(designer): 支持组合式函数名称解析与显示
- 新增 getComposableNames 方法,用于获取组合式函数及其解构名称
- useBinder 钩子中增加组合式函数选项展示
- defined 组件中添加组合式函数信息的展示逻辑
- 为 getComposableNames 添加单元测试,确保正确解析组合式函数名称
- useBinder 添加单元测试,验证组合式函数展示项包含正确名称

fix(renderer): 支持组件默认值深克隆与空属性处理

- render block 组件属性默认值支持深度克隆,避免引用共享问题
- render node 深度解析 props 时,增加 null 值判断,正确处理空属性
- 增加运行时集成测试,验证 null 值 prop 能够被正确传递和渲染
- 增加测试确保每个组件实例的对象与数组 prop 默认值相互独立,避免状态污染
2026-08-01 12:24:17 +08:00
“chenhuachun”
4c6ee2b76c Merge remote-tracking branch 'origin/next' into dev-renderer
# Conflicts:
#	packages/designer/src/utils.ts
2026-08-01 10:40:32 +08:00
“chenhuachun”
7f6134fbb6 ci: 👷commit 2026-07-23 20:15:00 +08:00
“chenhuachun”
3e245ea6b6 ci: 👷commit 2026-07-20 21:01:20 +08:00
“chenhuachun”
529878f243 fix(renderer): 优化Composition模式与v-model实现并增强样式处理
- 修复Provider中getDslByUrl请求失败缓存清理问题及重试逻辑
- 重构block渲染逻辑,延后执行composables以确保refs和reactives可用
- 在setup中优先注册provide和Composition生命周期钩子,支持生命周期异步执行
- 修改vNativeModelRender,支持checkbox、radio、select的v-model修饰符处理
- 调整vModelRender支持自定义组件并传递有效的modifiers作为props
- 优化样式模块adoptedStyleSheets,避免重复构建并支持replaceSync能力检测
- 移除block渲染时不必要的响应式访问以提升性能
- 增加多个单元测试覆盖v-model修饰符、Provider重试以及样式处理边界情况
- 修正节点渲染时事件与props分离逻辑,保证事件处理器上下文正确绑定
- 增强Runtime集成测试,覆盖provide/inject生命周期及composable参数解析场景
2026-07-19 22:37:14 +08:00
“chenhuachun”
afd0788bd8 feat(renderer): 支持可写计算属性绑定上下文
- 在解析表达式时,绑定 computed 的 get 和 set 方法到上下文对象
- 确保可写计算属性的 getter/setter 被正确绑定和调用
- 添加运行时集成测试,验证计算属性的读写和事件触发功能
- 测试中模拟输入控件双向绑定,实现对计算属性的动态赋值和监听
2026-07-19 13:29:38 +08:00
“chenhuachun”
caf78bf48f chore(core): 升级版本至0.13.5并完善加载器缓存管理
- 将版本号从0.13.4更新到0.13.5
- Renderer类中新增loader属性并在渲染流程中处理loader缓存
- 调用clearLoaderCache时传入当前loader实例并在适当时机清空loader
- 在page.ts中修正缓存meta读取逻辑,确保route.meta正常访问
- Provider中修正项目平台访问方式,避免项目平台判断错误
- block.ts中渲染返回对象新增loader字段
- utils中优化模块加载逻辑,移除重复查找过程
- 新增loader实例缓存清理测试用例,验证clearLoaderCache调用clear方法
- page-route.spec.ts和provider-components.spec.ts中新增激活缓存相关测试覆盖
- provider.spec.ts中新增基于项目平台决定路由初始化测试
- util.test.ts新增依赖脚本加载测试,确保资源二次加载行为正确
2026-07-19 13:01:43 +08:00
“chenhuachun”
882a35df83 refactor(renderer): 优化上下文缓存和加载器管理逻辑
- 替换 binder.vue 中的缓存清理,改用 context.__cache.clear()
- 将 RendererMenuDataItem 类型替换原 MenuDataItem,优化菜单数据结构及过滤逻辑
- 修改 access 插件存储,支持 session 类型存储并完善测试覆盖
- PageContainer 组件支持路由变化自动加载和更新页面组件及标题
- Provider 初始化流程添加 initialization Promise,支持异步初始化状态查询
- NodeCache 改为导出类,context 中添加独立缓存实例保证隔离
- loader 模块重构,局部维护插件和异步组件缓存,新增 clear 方法支持缓存清理
- nodeRender 中事件绑定改进,完整支持 Vue 事件修饰符映射
- parseExpression 调整,支持返回函数时正确绑定上下文
- 动态脚本加载改为顺序等待加载并复用加载状态,避免重复加载
- memory 服务修复删除历史数据时同步清理字典错误
- 新增多项测试覆盖,包括 context 缓存隔离、加载器缓存隔离、事件修饰符映射和路由组件刷新
- 修正多处测试中对依赖的模拟与用法,提升测试可靠性和准确性
2026-07-19 11:52:30 +08:00
“chenhuachun”
d7ecf513d1 ci: 👷commit 2026-07-18 21:31:47 +08:00
“chenhuachun”
8fef119fc4 chore(parser): 优化 Vue 组件 computed 支持及脚本解析容错
- 支持 computed 选项中对象字面量(get/set)形式的表达式解析
- script 解析失败时,增加表达式上下文包裹尝试,提升对复杂语法的兼容
- scriptSetup 中 computed 支持 JSFunction 和 JSExpression 两种类型
- 调整方法、监听器、生命周期函数类型定义,支持 JSExpression
- 优化 methods 和 watchers 的类型断言
- 将版本号升级到 0.13.4

fix(renderer): 同步上下文属性时避免共享不应共享状态

- 使用 Object.assign 代替逐个属性赋值,确保全局注入属性同步
- 清理 sharedContext 中不应共享的 per-instance 内部状态字段
- 修正测试用例中 onMounted 调用次数,匹配实际调用逻辑
2026-07-18 21:22:35 +08:00
“chenhuachun”
49ee33e721 ci: 👷commit 2026-07-15 20:34:46 +08:00
“chenhuachun”
ed1f601816 ci: 👷commit 2026-07-15 20:32:08 +08:00
“chenhuachun”
f36d070530 fix(renderer): 同步运行时上下文及排除无意义属性
- 扩展排除列表,过滤掉 Vue 组件上下文中用户无意义的 Object.prototype 方法
- 在实例挂载后同步 $el 等延迟生成的属性到 sharedContext
- 实现 syncContextFields 函数,将 per-instance context 关键字段同步回 sharedContext
- 保证设计器 Viewer 和相关功能能立即且完整地获取最新的运行时上下文
- 同步 CONTEXT_HOST 中定义的 Vue 组件实例属性,提升上下文一致性
2026-07-14 20:54:11 +08:00
“chenhuachun”
75928d1844 ci: 👷commit 2026-07-11 18:22:29 +08:00
“chenhuachun”
483cbb051f fix(renderer): 修复 v-if 条件链处理逻辑
- 新增对 v-if 指令的检测,避免跨条件链匹配 v-else
- 遇到新的 v-if 时停止当前遍历,防止错误关联后续 v-else
- 保持对 v-else-if 表达式的正确解析和渲染调用
- 改进条件链判断提升渲染准确性和稳定性
2026-07-11 18:19:14 +08:00
“chenhuachun”
b13982dcc5 ci: 👷commit 2026-07-11 16:44:07 +08:00
“chenhuachun”
496dbd94eb feat(renderer): 修复props响应式追踪问题
- 为组合式API中每个prop定义响应式getter,代理到context.$props
- 解决props展开为纯值后watch无法追踪变化的issue
- 忽略props setter,保证只读属性行为
- 在inject处理逻辑中通过代理访问props,建立响应式依赖追踪
- 优化子组件props响应式更新,确保watch能够正确触发
2026-07-11 16:39:38 +08:00
“chenhuachun”
32536fa33b ci: 👷commit 2026-07-10 22:03:12 +08:00