import {PlinkArchDiagram} from './PlinkArchDiagram';
import {dispatcher as blockDiagramDispatcher} from './blockDiagramSlice';
export const renderByMdKey: {[mdKey: string]: {[id: string]: (id: string, dom: Element, dataKey: string) => React.ReactNode}} = {
intro: {
PlinkArchDiagram(id, dom, dataKey) {
return ();
}
}
};
blockDiagramDispatcher.create(['plinkArchDiagram', [
{title: 'Plink', type: 'layer', children: [
{title: 'Command line', grow: 3, children: [
{title: 'mono repo 开发环境支持', chrInHorizontal: true,
children: [
{title: 'Repo 连接命令'},
{title: '依赖添加
安装命令'},
{title: '编辑器友好', content: 'tsconfig paths配置自动更新'},
{title: '源码包依赖管理', content: '3rd party 依赖版本一致性检查'}
]},
{title: 'Web framework 构建工具 rewire', chrInHorizontal: true, children: [
{title: 'create-react-app
扩展', content: '支持 monorepo, library 构建、 源文件替换, webpack定制'},
{title: 'Angular 8 cli 扩展', content: '支持 monorepo, webpack定制'},
{title: 'Prebuild', content: '多环境构建 artifact 包合并,
mono repo输出多应用 repo(image)'},
{title: 'i18n', content: '源码字符串扫描替换命令 *'}
]},
{title: '源码模块信息可视化', chrInHorizontal: true, children: [
{title: '包配置和
环境设置信息'},
{title: '源码依赖分析'}
]},
{title: '模块包管理', chrInHorizontal: true,
children:['批量发布', '批量本地 targz', '批量版本 bump']},
{title: 'Utility', chrInHorizontal: true, children: [
'Typescript AST 查询',
'thread_worker /process pool',
'Typescript compiler 配置和多包编译',
'React组件,Redux slice,node 包初始文件生成命令',
'JSON schema, 生成命令',
'包内配置文件,workspace配置文件 生成命令',
'Swagger API doc 生成 Typescript类型命令'
]}
]},
{
title: 'Client core', grow: 0.7, chrInHorizontal: true,
children: [
{title: 'Redux-toolkit-observable',
content: '基于Redux-toolkit, Redux-observable 状态管理器封装, Redux 处理 middleware 等'},
{title: '纯 RxJS based 状态管理器', content: '应用于旧 Angular项目'}
]
},
{title: 'Server', grow: 1.3, chrInHorizontal: true, children: [
{title: 'Snowplow 服务端', content: '客户端侦错数剧收集'},
{title: 'Express 和扩展 API context', content: '基础 middleware, router 配置, 支持模块包扩展配置 route'},
{title: '静态资源服务中间件模块', content: '客户端资源分环境响应, 基础响应头配置, Http API 代理'},
{title: '日志 API', content: '支持 PM2 集群'},
{title: '安转包和软连接运行管理'}
]}
]}
] ]);
blockDiagramDispatcher.create(['businessAppDiagram', [
{title: '信贷 monorepo creditappfrontend', type: 'layer', children: [
{title: 'workspace', chrInHorizontal: true, children: [
'React 项目构建空间', 'Angular 项目构建空间', 'Node.js 应用运行空间']},
{title: '本地源码包(目录)', grow:4, children: [
{title: '各产品的route模块和业务页面', chrInHorizontal: true,
children: [
{title: '控台业务模块包目录'},
{title: 'H5 业务模块包目录'}
]},
{title: 'common UI 包和基础业务功能', chrInHorizontal: true, grow: 3, children: [
'基础导航栏组件', '基础 index HTML和 H5 布局组件', '基础动效组件',
'API 响应拦截和异常提示',
'控台入口页面组件', '停机公告, 城市选择, 四要素实名, 帮助中心,协议合同查看, 发短信等组件','调试彩蛋', 'web view后退管理', '钱包 BKlib mock', 'Snowplow 侦错和风控用户行为采集'
]}
]},
{title: '各个产品构建和运行配置文件目录', grow: 0.5},
{title: 'Server模块', chrInHorizontal:true, children: ['可视化首页微信 API 聚合', '服务端渲染', '可视化,潜客包 API代理']},
{title: '关联其他项目安装包 targz 文件目录', chrInHorizontal: true, children: [
'寻龙贝分期控台项目安装包', 'Plink 工具模块包'
]}
]},
{title: '包含产品', type: 'layer', children: [
'贝用金H5及控台','可视化H5', '潜客包H5','家家支付信贷入口 H5', '收租贝控台','老贝分期H5和控台', '月付贝控台']}
] ]);