首页 > 其他分享 >京东猎户座发布开源,配置化一键生成cms系统

京东猎户座发布开源,配置化一键生成cms系统

时间:2023-02-21 16:33:26浏览次数:47  
标签:功能 配置 一键 ccms 开源 cms id 页面


猎户座核心配置化功能开源啦!

在降本提效的大环境下,猎户座系统为了扩展更多应用场景,近期完成了第一阶段的开源工作。此次开源的代码内容涉及两个代码库,内容为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)整体架构

基于猎户座接入的业务应用场景,以用户为中心,进行调研,收集实际的业务需求,扩展项目的功能。主要目的是让产品配置更灵活、更便捷、易上手、功能覆盖更全面。我们首先对整体架构进行分层。下图是开源代码的整体架构思路


京东猎户座发布开源,配置化一键生成cms系统_管理系统

2)组件设计

以面向对象的方式在基类实现业务逻辑,通过继承基类实现UI的快速切换和接入。

京东猎户座发布开源,配置化一键生成cms系统_UI_02

 

3)数据流转

每个页面步骤提供对输入、输出数据的传输与存储,在不同页面步骤中实现各自的业务逻辑。最终在页面中通过对步骤排列组合实现完整的业务功能。


京东猎户座发布开源,配置化一键生成cms系统_京东开源_03

 

4)无缝对接外部系统

以中间件的形式抽离权限配置,配置文件存储,UI框架等模块实现在不同系统间的快速切换。


京东猎户座发布开源,配置化一键生成cms系统_京东开源_04

 

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

相关文章