技术方案设计文档

需求

浅层需求

应用模板通过h5编辑器编辑生成自己的作品

深层需求

  • 作品管理
  • 作品统计
  • 作品发布

范围

整体设计

用例

架构设计

模块设计

  • 模块的拆分和关系图,结果
  • 模块的关键功能,职责等
  • 特殊的模块重点说明

组件库

作品的数据结构

vuex store

{
  work: {
    title: '作品标题',
    setting: {/* 一些可能的配置项,用不到就先预留 */},
    props: {/* 页面body的一些设置,如背景色 */},
    components: [
      // components要用数组,有序结构
      // 单个node要符合常见的vnode格式
      {
        id: 'xxx', // 每个组件都有id,不重复
        name: '文本1',
        tag: 'text',
        attrs: { fontSize: '20px' },
        children: [
          '文本1' // 文本内容,有时候放在children,有时候放在attrs或者props,没有标准,看实际情况来确定
        ]
      },
      {
        id: 'yyy',
        name: '图片1',
        tag: 'image',
        attrs: { src: 'xxx.png', width: '100px' },
        children: null
      }
    ]
  }
}

vuex getter

// 图层
{
  layers: (state) => {
    state.work.components.map(c => {
      return {
        id: c.id,
        name: c.name
      }
    })
  }
}

扩展性保证

扩展组件

素材类型扩展

  • 图片
  • SVG
  • 动图
  • 字体/艺术字体
  • 动画
  • 视频

    数据结构层面

    扩展编辑器功能

  • 例如:组件隐藏、锁定、vnode

    扩展页面的配置

开发提效

脚手架

  • CICD
  • Git Flow工作流
  • DOCKER容器部署/发布部署

    组件平台

运维保障

  • 线上服务和运维服务
  • 安全
  • 监控和报警
  • 服务扩展性:QPS

总结

待补充

Copyright © imooc-lego (2020 - present) all right reserved,powered by GitbookFile Modify: 2021-06-27 08:04:57

results matching ""

    No results matching ""