## 框架介绍

- 简介

CCUI 2.0（CapCloud UI 2.0）是前后端分离快速开发平台，集成国密加解密插件，面向快速迭代、灵活部署和多数据库环境适配。

采用 JDK 1.8 + Spring Boot 2.7

* Java 后端：JDK 1.8 + Spring Boot 2.7
* 管理后台：[CCUI 2.0 前端源码](https://gitlab.kanhouchu.com/ljhui/khc2-html)
* 数据库可按环境任选其一：嵌入式 H2 开箱即用，也可切换到 MySQL 5.7/8.0、人大金仓 Kingbase 等外部数据库；后续如扩展 PostgreSQL、达梦等数据库，也仍然保持“单选其一”的接入方式。
* 消息队列：Redis（待适配：RabbitMQ、Kafka）
* 权限认证：Spring Security & JWT & Token & Redis
* 实时通信：采用 WebSocket 实现（待适配：Spring内置的Spring WebSocket、MQTT）
* 搜索引擎：采用 Lucene 全文检索 实现
* 任务调度：采用 Quartz 实现 可以配置动态定时任务，并支持定时任务实时调整

## 快速链接

演示地址：[http://v2.capcloud.kanhouchu.com](http://v2.capcloud.kanhouchu.com)


### 后端支撑
| 插件 | 版本       | 用途 | 启动是否必须 |
| --- |--------------| ------ |----|
| jdk | 1.8          |java环境| 是 √ |
| h2 / mysql / kingbase / ... | 最新版 | 数据库 | 是（必选其一） |
| redis | 最新版     | 缓存库 | 否 × |
| mongodb | 最新版   | 日志库 | 否 × |
| minio | 最新版     | 文件库 | 否 × |

### 启动后端
开发工具内配置好maven即可启动，[参考文档](https://docs.capcloud.kanhouchu.com/web/#/p/294688556d5cc216f7381862aadf6d7a)。

## 版本说明
| 版本     | 开发环境                    | 版本状态                    | 说明                                            |
|---------|---------------------------|---------------------------|--------------------------------------------------|
| [CCUI 1.0 master-springboot1.5.x](https://gitlab.kanhouchu.com/ljhui/khc1-system) | JDK 1.8 + Spring Boot 1.5 | 维护版本 | 开发资源收紧，仅进行安全更新和修复，推荐使用2.0版本。|
| [CCUI 1.0 master](https://gitlab.kanhouchu.com/ljhui/khc1-system) | JDK 1.8 + Spring Boot 2.7 | 维护版本 | 开发资源收紧，仅进行安全更新和修复，推荐使用2.0版本。|
| CCUI 2.0 | JDK 1.8 + Spring Boot 2.7 | 积极开发版本 | 积极开发，获得了更多的资源和功能更新。|
| [CCUI 3.0](https://gitlab.kanhouchu.com/ljhui/khc3-system) | JDK 21  + Spring Boot 3.5 | 规划版本 | 未来版本，目前处于规划阶段，目标是引入新的架构和性能优化。|

- 版本更新

CCUI 1.0 于 2018 开工，是早期版本，前后端未分离，前端与后端逻辑紧密耦合在一起。

CCUI 2.0 于 2022-05 开工，基于1.0重构的版本，前后端实现分离，前端和后端分别独立开发和部署，以提高系统的可维护性和灵活性。

- 为了获得更好的性能和最新的功能，建议直接使用 CCUI 2.0 版本。

> 友情提示：本项目基于 CCUI 1.0 修改，**重构优化**后端的代码，**美化**前端的界面。
>
> * 重新实现的功能，我们使用 ☆☆ 标记。
> * 额外新增的功能，我们使用 ⭐️ 标记。

### 系统功能

|     | 功能      | 描述                              |
|-----|-----------|---------------------------------|
|     | 用户管理  | 用户是系统操作者，该功能主要完成系统用户配置          |
|     | 部门管理  | 配置系统组织机构，树结构展现  |
|     | 菜单管理  | 配置系统菜单               |
|     | 角色管理  | 角色菜单权限分配、设置角色按机构进行数据范围权限划分      |
|☆☆ | 数据源管理| 建表，建字段，配置查询和表单组件                    |
| ⭐️  | 页面管理  | 页面可以配置显示card，echarts，数据源              |
| ⭐️  | SimpleCard管理  | 可以配置简单的SimpleCard在页面表头显示突出              |
| ⭐️  | ECharts管理  | 可以配置ECharts图表，折线图，柱图，饼图在页面显示              |
| ⭐️  | 任务管理  | 任务调度管理可以配置动态定时任务，并支持定时任务实时调整（启动和暂停，立即执行一次任务）。              |
|     | 字典管理  | 对系统中经常使用的一些较为固定的数据进行维护          |
|     | 登录日志  | 系统登录日志记录查询，包含登录异常               |
| ⭐️  | 在线用户  | 当前系统中活跃用户状态监控，支持手动踢下线           |
| ⭐️  | 错误码管理| 系统所有错误码的管理，可在线修改错误提示，无需重启服务     |
| ⭐️  | 通知公告  | 系统通知公告信息发布维护                    |

### 字典支持

|             | 运行效率 | 字典缓存 | 描述    |
|-------------|-----------|----------|----------|
|  内部字典   | 高        | Redis    | 系统内部预定义的字典。 |
|  外部字典   | 中\高     | 数据库   | 加载表的字典数据。适用于需要频繁更新的数据，如用户信息、业务配置等。 |
|  tree字典   | 中\高     | Redis    | 加载表的字典数据，以树状结构存储的字典数据。适用于产品分类树、组织架构树。 |

## 团队成员

| 成员 | 技术 | 昵称 | 
| :---: | :---: | :---: | 
| 翟国生 | 全栈 | 困在夏天的胖子 | 
| 廖家辉 | 全栈 | 小辉 | 

