猎户座核心配置化功能开源啦!
在降本提效的大环境下,猎户座系统为了扩展更多应用场景,近期完成了第一阶段的开源工作。此次开源的代码内容涉及两个代码库,内容为CCMS管理系统核心配置化功能以及包含表格列与表单项在内的常用组件。
配置化核心业务逻辑(开源地址)
UI实现代码库(开源地址)
希望通过开源吸引更多贡献者参与共建,完善对各类表单项、列表项的展示、校验需求的覆盖,促进产品的长期发展。收集Issue以及社区的反馈,不断优化功能的同时全面掌握用户诉求。
开源介绍
1、简介
猎户座是一套完善、通用的可配置化中后台一站式解决平台,包含快速创建系统、可视化搭建、配置界面、权限控制等能力。本次开源内容为核心配置化功能(CCMS),通过配置化自动生成中后台(CMS)界面,可将内容管理系统页面抽象为若干API进行流转,并对后台API的请求按照逻辑类型划分为表单提交、列表展示、查询数据等,通过JSON描述各API请求的接口信息以及常见校验和简单逻辑,动态渲染前端页面,最终实现零开发搭建内容管理系统。
2、特点
通过配置文件自动生成CMS后台管理界面。
1.核心配置化功能包含5种步骤,超过15种包含表格列与表单项在内的各种组件等内容。
2.通过组合式配置步骤。可覆盖16种以上不同中后台系统功能与页面交互形式。
3.规范:面向对象的方式对基类统一管理;项目目录与代码统一标准化、规范化。
4.文档:提供了完善的使用文档(https://oriondoc.jd.com/),便于开发者参与贡献与快速使用。
5.质量:核心组件的单元测试覆盖率达到100%,确保核心组件的开发质量。
3、架构
1)整体架构
基于猎户座接入的业务应用场景,以用户为中心,进行调研,收集实际的业务需求,扩展项目的功能。主要目的是让产品配置更灵活、更便捷、易上手、功能覆盖更全面。我们首先对整体架构进行分层。下图是开源代码的整体架构思路
2)组件设计
以面向对象的方式在基类实现业务逻辑,通过继承基类实现UI的快速切换和接入。
3)数据流转
每个页面步骤提供对输入、输出数据的传输与存储,在不同页面步骤中实现各自的业务逻辑。最终在页面中通过对步骤排列组合实现完整的业务功能。
4)无缝对接外部系统
以中间件的形式抽离权限配置,配置文件存储,UI框架等模块实现在不同系统间的快速切换。
4、接入与使用
完整demo可参照(http://coding.jd.com/publicdemo/ccms-demo/)
快速使用:安装`ccms` 和`ccms-antd`
npm install ccms-antd ccms
在项目中引入和及配置
```
import { CCMS } from 'ccms-antd';
const App = () => (
<>
<CCMS
checkPageAuth={async () => true}
loadPageURL={async (id) => `/url?id=${id}&type=page`}
loadPageFrameURL={async (id) => `/url?id=${id}&type=open`}
// 界面操作更新CCMS config
loadPageConfig={async (page) => newConfig }
sourceData={{}}
callback={() => {
if (window.history.length > 1) {
window.history.back()
} else {
window.close()
}
}}
//config的demo 详见api文档
config={config}
/>
</>
);
```
用户反馈
如有任何疑问与产品功能建议,欢迎与我们交流与反馈。
也期待研发同事加入我们一起共建。1022076494(咚咚群)
—— 京东零售-平台业务中心-平台业务研发部-基础业务研发部 ——
标签:功能,配置,一键,ccms,开源,cms,id,页面 From: https://blog.51cto.com/u_13706148/6076719