Skip to content
On this page

Flowmix/docx 核心理念

flowmix/docx 采用 blocks 的约定式设计模式, 所以整个文档都具有类似 ODATA 的数据格式规范, 每个文档组件我们也设计了统一的DSL结构, 来保证文档渲染的一致性和可扩展性.

组件内的数据结构

js
{
    "id": "EgGlpOE8kZ",
    "type": "alert",
    "data": {
        "type": "primary",
        "align": "left",
        "message": "flowmix/docx 是一款类似notion / 飞书文档的文档编辑引擎, 基于Nocode/WEP平台抽离的编辑器版本。个人或者企业可以基于此编辑器,轻松集成到自己的Web系统。"
    }
}

上面就是每个组件都会遵循的数据结构:

  • id: 组件的唯一标识
  • type: 组件的类型
  • data: 组件的属性, 我们可以根据组件的特性在这里定义不同的字段属性和数据

文档数据结构

js
{
    title: "文档标题",
    config: {
        // 互动栏配置
        bar: [
            {
                "type": "admiration",
                "config": {
                    "url": "http://doc.dooring.vip/wx_py.png",
                    "text": "微信赞赏"
                }
            }
        ],
        // 水印配置
        waterConfig: {

        }
    },
    // 文档数据集合
    schema: [
        {
            "id": "EgGlpOE8kZ",
            "type": "alert",
            "data": {
                "type": "primary",
                "align": "left",
                "message": "flowmix/docx 是一款类似notion / 飞书文档的文档编辑引擎, 基于Nocode/WEP平台抽离的编辑器版本。个人或者企业可以基于此编辑器,轻松集成到自己的Web系统。"
            }
        }
    ]
}

上面就是我设计的文档的基本数据结构:

  • title: 文档标题
  • config: 文档配置, 包含了水印, 互动栏等全局配置
  • schema: 文档数据集合

通过这样的数据结构, 我们可以让文档实现真正的数据驱动 + AI驱动.

专注 | 高效 | 深耕可视化场景