脱离业务的架构就是耍流氓。架构师必须要深入理解需求、参与需求、看透需求背后的业务本质。
👉👉 需求文档
👉👉 项目在线体验
👉👉 学生的学习笔记
👉👉 代码仓库
URL
不能变H5
分享项目主要分为 三个 大端:
除 H5
端外,均采用前后端分离模式进行开发。此外,为提 H5
作品展示端的渲染性能,采用服务端渲染。
模块受众:
H5
端:作品受众、普通用户模块职责简述:
H5
端用于显示成品作品,使用服务端渲染提高性能与用户体验,收集浏览及分享数据,发送到统计服务端其他重要部分:
H5
端显示的效果一致,编辑器端及 H5
作品展示端都使用该组件库B端和编辑器,做前后端分离
biz-editer-fe
biz-editer-server
H5适合做SSR,因为要考虑性能
h5-server
管理后台,做前端分析
admin-fe
admin-server
业务组件库
H5
端和 b
端画布的渲染逻辑是一样的,所以使用独立的组件库,达到复用的效果。统计服务OpenAPI
PV
,UV
使用百度统计等第三方服务,自定义事件需要自研。编辑器原型
数据结构设计
基本思路:
vnode
规范 {
work: { // 每一个作品
title: '作品标题',
setting: {}, // 一些可能的配置项 扩展性保证
props: {}, // 页面的一些设置 扩展性保证
// 组件(数组,可以排序)
// 单个 node 要符合常见的 vnode 格式
components: [
{
id: '1',
name: '文本1',
tag: 'text',
attrs: {
fontSize: '20px',
},
children: ['文本1'],
},
{
id: '2',
name: '图片1',
tag: 'image',
attrs: {
src: 'xxx.png',
width: '120px',
},
children: null,
},
],
//当前选中的组件id
activeComponentId: 'xxx'
},
},
核心:B
端,C
端,管理后台,公用一个数据库
JSON
数据JSON
数据C
端浏览作品:获取 JSON
数据,SSR
渲染页面C
端来判断数据流转关系图