# cms **Repository Path**: lipinyong/cms ## Basic Information - **Project Name**: cms - **Description**: 建立一个页面系统,前端使用页面容器,组件使用页面模板,后台数据使用json,web服务接口支持文件系统操作 - **Primary Language**: JavaScript - **License**: GPL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-01-18 - **Last Updated**: 2022-06-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # CMS设计 cms是一个集合数据、流程、机制和交互的web发布系统。系统需要维护根据一定的规则融合指定的数据集和页面模板,所以系统应该以一个目录结构将不同的数据、应用入口等资源整合在一起,访问这些资源还需要附加访问权限,决定是否显示,是否可以编辑。 CMS的数据目录大致以以下的形式定义: ```shell /<:datasource>/<:apppath> ``` 相关数据都使用json格式进行传递。 ## CMS的主要模块 CMS的主要模块分为: - webFS文件子系统:webFS维护的是一个目录树系统,模仿以前的WinFS,使用数据库、本地文件、SMB文件、第三方网盘等一起搭建而成的平台,无需考虑后台实际文件从何而来,通过配置直接加载到当前目录中。 - 用户中心和认证系统:该系统为全局系统,保存所有的用户信息和登录信息。用户数据保存为格式化数据文件,可以使用Json文件或数据库来进行管理维护。 - 流程引擎子系统:特定的流程文件,是webFS的一种。包含其中的流程节点描述,下一步跳转,当前操作权限等内容,相关数据是附加其上的。 - 特殊功能微服务:根据特定的数据(文件)记录进行计算操作并返回结果的一种服务,不同的微服务需要将相关的数据输入处理,得出结果。所以单一功能的微服务可存在多个并发的根据请求进行处理,而不在乎有多少数据源。 - 操作维护子系统:CMS分为两种界面,一种是前端运行态的页面交互,另一种是后端维护中台。前后端使用cookies进行交互,后端改变前端cookies的设置内容,前端也需要进行相应的变化 ### 启动过程 - 配置文件中描述了CMS连接的多个数据源,多个数据源的绑定形成了文件目录的顶层节点 - 初始访问调取默认数据源,所使用数据源将在登录后通过配置选择,并为此使用cookie记录当前所访问的数据源便于下次登录 - 数据源中包含页面浏览文件和对应的数据配置