diff --git a/OpenATC-Admin-ui/OpenATC-Admin-web/src/components/TreeTable/readme.md b/OpenATC-Admin-ui/OpenATC-Admin-web/src/components/TreeTable/readme.md index 2a3b5af82e94461ac9dba5172cc772a7da1d459c..467a2d74eeb3939a522e75bdde4fec54cedc298f 100644 --- a/OpenATC-Admin-ui/OpenATC-Admin-web/src/components/TreeTable/readme.md +++ b/OpenATC-Admin-ui/OpenATC-Admin-web/src/components/TreeTable/readme.md @@ -1,89 +1,132 @@ -## 写在前面 -此组件仅提供一个创建TreeTable的解决思路 - -## prop说明 -#### *data* - **必填** - - 原始数据,要求是一个数组或者对象 - ```javascript - [{ - key1: value1, - key2: value2, - children: [{ - key1: value1 - }, - { - key1: value1 - }] - }, - { - key1: value1 - }] - ``` - 或者 - ```javascript - { - key1: value1, - key2: value2, - children: [{ - key1: value1 - }, - { - key1: value1 - }] - } - ``` - -#### columns - 列属性,要求是一个数组 - - 1. text: 显示在表头的文字 - 2. value: 对应data的key。treeTable将显示相应的value - 3. width: 每列的宽度,为一个数字(可选) - - 如果你想要每个字段都有自定义的样式或者嵌套其他组件,columns可不提供,直接像在el-table一样写即可,如果没有自定义内容,提供columns将更加的便捷方便 - - 如果你有几个字段是需要自定义的,几个不需要,那么可以将不需要自定义的字段放入columns,将需要自定义的内容放入到slot中,详情见后文 - ```javascript - [{ - value:string, - text:string, - width:number - },{ - value:string, - text:string, - width:number - }] - ``` - -#### expandAll - 是否默认全部展开,boolean值,默认为false - -#### evalFunc - 解析函数,function,非必须 - - 如果不提供,将使用默认的[evalFunc](./eval.js) - - 如果提供了evalFunc,那么会用提供的evalFunc去解析data,并返回treeTable渲染所需要的值。如何编写一个evalFunc,请参考[*eval.js*](https://github.com/PanJiaChen/vue-element-admin/blob/master/src/components/TreeTable/eval.js)或[*customEval.js*](https://github.com/PanJiaChen/vue-element-admin/blob/master/src/views/example/table/treeTable/customEval.js) - -#### evalArgs - 解析函数的参数,是一个数组 - - **请注意,自定义的解析函数参数第一个为this.data,第二个参数为, this.expandAll,你不需要在evalArgs填写。一定记住,这两个参数是强制性的,并且位置不可颠倒** *this.data为需要解析的数据,this.expandAll为是否默认展开* - - 如你的解析函数需要的参数为`(this.data, this.expandAll,1,2,3,4)`,那么你只需要将`[1,2,3,4]`赋值给`evalArgs`就可以了 - - 如果你的解析函数参数只有`(this.data, this.expandAll)`,那么就可以不用填写evalArgs了 - - 具体可参考[*customEval.js*](https://github.com/PanJiaChen/vue-element-admin/blob/master/src/views/example/table/treeTable/customEval.js)的函数参数和[customTreeTable](https://github.com/PanJiaChen/vue-element-admin/blob/master/src/views/example/table/treeTable/customTreeTable.vue)的`evalArgs`属性值 - - ## slot - 这是一个自定义列的插槽。 - - 默认情况下,treeTable只有一行行展示数据的功能。但是一般情况下,我们会要给行加上一个操作按钮或者根据当行数据展示不同的样式,这时我们就需要自定义列了。请参考[customTreeTable](https://github.com/PanJiaChen/vue-element-admin/blob/master/src/views/example/table/treeTable/customTreeTable.vue),[实例效果](http://panjiachen.github.io/vue-element-admin/#/example/table/custom-tree-table) - - `slot`和`columns属性`可同时存在,columns里面的数据列会在slot自定义列的左边展示 - - ## 其他 - 如果有其他的需求,请参考[el-table](http://element-cn.eleme.io/#/en-US/component/table)的api自行修改index.vue + + +# OpenATC-Admin-server 项目说明 + +## 项目简介 + +OpenATC 是一个用于交通信号控制的开源项目,提供交通信号控制、数据采集、故障监测、权限管理等功能。该项目主要分为服务器端(OpenATC-Admin-server)和前端界面(OpenATC-Admin-ui)。 + +## 项目结构 + +- **agent**:核心业务逻辑模块,包含设备管理、权限控制、WebSocket通信、Redis消息处理、Kafka集成等。 +- **autotest**:自动化测试模块,用于模拟设备通信及发送测试消息。 +- **comm**:通信模块,定义了消息发送、接收、协议封装等逻辑。 +- **core**:基础功能模块,包含通用工具类、RESTful响应封装、异常处理等。 +- **extend**:扩展模块,包含日志记录、数据库类型支持、AOP切面等。 +- **model**:数据模型定义,包括设备状态、模式、相位、绿波带宽等。 +- **optimize**:优化模块,包含用于绿波协调、固定配时计算的算法。 + +## 功能特性 + +- **设备管理**:支持设备的增删改查,以及设备状态的实时监控。 +- **权限控制**:基于Shiro实现,支持角色权限管理、JWT鉴权。 +- **WebSocket通信**:实现与前端的实时消息推送,包括设备状态、故障信息等。 +- **数据持久化**:使用JPA进行数据持久化,支持PostgreSQL数据库。 +- **历史数据统计**:支持流量、故障、操作记录等历史数据的查询与展示。 +- **绿波优化**:提供基于算法的绿波带宽优化功能,支持动态绿波、红波等策略。 +- **API文档**:集成Swagger,提供可视化API文档和测试界面。 + +## 安装与部署 + +### 后端部署(agent模块) + +1. **构建Docker镜像**: + 使用`Dockerfile`构建镜像: + ```bash + docker build -t openatc-admin-server . + ``` + +2. **运行Docker容器**: + 启动容器并映射端口: + ```bash + docker run -p 10003:10003 openatc-admin-server + ``` + +3. **配置数据库**: + 确保PostgreSQL数据库已启动,并根据`application-docker.properties`配置连接信息。 + +4. **配置Redis**: + Redis用于缓存设备状态、用户信息等,确保Redis服务正常运行。 + +5. **Kafka集成**(可选): + 若需使用Kafka进行消息推送,需配置Kafka服务器地址并启动相关服务。 + +### 前端部署(OpenATC-Admin-ui) + +1. **构建前端镜像**: + ```bash + docker build -t openatc-admin-web . + ``` + +2. **运行前端容器**: + 映射前端访问端口: + ```bash + docker run -p 80:80 openatc-admin-web + ``` + +3. **配置代理**: + 根据`config/index.js`配置Nginx代理,将前端请求转发到后端服务。 + +## 使用说明 + +### API接口 + +- **设备管理**:支持设备的增删改查,通过`/devs`系列接口实现。 +- **权限管理**:支持角色和权限的管理,通过`/auth/permission`和`/auth/role`接口实现。 +- **故障监控**:支持故障的查询、清除,通过`/fault`接口实现。 +- **绿波协调**:通过`/route`接口支持绿波优化、带宽计算等。 +- **历史数据**:支持历史流量、模式、操作记录的查询。 +- **WebSocket连接**:支持设备状态、故障、模式等的实时推送。 + +### 日志与调试 + +- **日志级别**:可通过`application-docker.properties`配置日志级别。 +- **日志输出**:使用`@SysLog`注解记录操作日志。 +- **异常处理**:统一异常处理类`GlobalDefaultExceptionHandler`处理常见异常。 + +## 技术栈 + +- **Java 11+** +- **Spring Boot**:用于快速构建微服务。 +- **JPA**:用于数据持久化。 +- **Redis**:用于缓存设备状态、用户权限等。 +- **Kafka**:用于消息推送。 +- **JWT**:用于用户鉴权。 +- **Shiro**:用于权限控制。 +- **WebSocket**:用于实时通信。 +- **Swagger**:用于API文档展示。 + +## 项目贡献 + +- **遵循代码规范**:请使用Checkstyle规范格式。 +- **提交方式**:请使用标准的Git提交规范。 +- **Issue跟踪**:在Gitee上提交Issue并进行跟踪。 +- **Pull Request**:欢迎提交PR,建议在提交前进行本地测试。 + +## 项目维护 + +- **版本控制**:使用`application-docker.properties`中配置的版本信息。 +- **自动更新**:通过定时任务实现设备状态自动更新、日志清理等。 +- **数据库迁移**:使用Flyway进行数据库版本管理。 + +## 许可协议 + +本项目遵循Apache 2.0协议,详情请查看`LICENSE`文件。 + +## 项目依赖 + +- **PostgreSQL 12+** +- **Redis 6+** +- **Kafka 3+** +- **Jenkins**(用于CI/CD) +- **Nginx**(用于前端代理) + +## 文档与测试 + +- **API文档**:集成Swagger,访问`/swagger-ui.html`查看。 +- **单元测试**:在`autotest`模块中,使用JUnit进行测试。 +- **通信测试**:模拟设备通信,支持UDP/TCP消息发送与接收测试。 + +## 项目维护者 + +本项目由Kedacom开源团队维护,更多关于项目的信息请访问[OpenATC Gitee主页](https://gitee.com/openatc)。 \ No newline at end of file