km-card-layout-core
v0.1.24
Published
Shared render helpers for CardMaster layout JSON (binding resolution, layout normalization).
Downloads
2,023
Readme
km-card-layout-core
纯函数渲染核心:负责将布局 JSON 与数据合成渲染树,处理绑定路径、样式单位(px/rpx)等。
API
normalizeLayout(layout):清洗/容错布局对象或 JSON 字符串,补齐默认尺寸/children。buildRenderResult(layout, data, unit?):返回{ renderTree, cardStyle, backgroundImage, backgroundStyle },可直接用于 PC/Vue、小程序等多端。buildRenderNodes(children, data, unit?, context?):仅展开 children 为渲染节点列表。- 其他工具:
resolveBindingValue(绑定读取,支持$item.与 dataPath 上下文)、styleObjectToString、addUnit。
适用场景
- PC 端:在 Vue 组件里调用
buildRenderResult,把 renderTree 映射为 VDOM。 - 小程序:被
km-card-layout-component-miniprogram依赖,组件中通过 core 得到 renderTree。 - 预渲染/快照:Node 环境按相同逻辑生成渲染树后做静态输出或图片化。
核心不依赖 DOM/平台 API,可直接通过 require('km-card-layout-core') 使用。
