慕课乐高架构方案设计文档
需求
范围
我们通过项目需求分析,一共划分出了五个模块,8 个项目,分别是:
- 可视化编辑器
- 前端编辑器
- 服务端
- H5 作品展示页面
- 项目总后管
- 前端
- 服务端
- 数据统计服务
- 研发公共部分
- 脚手架
- 组建平台
模块设计
作品的数据结构
本项目中,用于描述一个页面所使用的到的数据结构如下:
{
"work": {
"title": "作品名称",
"setting": {}, // 项目设置,扩展字段
"props": {}, // 全局设置
"components": [ // 数组
{
"id": "组件id",
"name": "组件名称",
"tag": "组件类型",
"attr": { // 组件自身属性
"width": "宽",
"height": "高",
"color": "颜色",
...
},
"props": {
// 组件外部传入的属性或方法
...
},
"children": [ ... ]
},
],
},
}
扩展性保证
- 组件扩展
- 编辑器功能扩展
- 页面配置扩展
- 编辑器所支持的项目类型扩展
- h5 活动页
- PC 官网
- PC 后管页
开发提效
- 脚手架
- 组建平台
运维保障
- 监控/报警
- 错误日志