# OpenATC-Admin **Repository Path**: wuxiaolee/open-atc-admin ## Basic Information - **Project Name**: OpenATC-Admin - **Description**: OpenATC管理平台,包含设备管理,设备配置,权限管理,绿波路线,勤务路线等多种功能。通讯协议开源开放,支持对接多种协议的交通信号控制设备。具有最实用的信控优化算法,并可对接OpenATC虚拟环境,对更高级的信控算法进行扩展和验证。 - **Primary Language**: Java - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 126 - **Created**: 2023-09-21 - **Last Updated**: 2023-09-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## OpenATC-Admin JDK author Spring Boot JDK author ### 简介 - 这是一款开源的现代交通信号控制软件,可应用于小型、大型、特殊路口等多种场景,并且包含了灯控、检测、故障以及用户管理等多种功能,快来使用它吧! --- ### 准备工作 在进行开发之前,您需要安装以下程序: - git - Java 1.8+ - Maven 3.3.9+ - npm 5 or above - Vue --- ### 前端部分 #### 技术栈 | Component | 技术 | | -------- | -------- | | 框架 | Vue| | 构建工具 | npm | | UI | element-ui | | 语法 | ES2015+ | | HTTP客户端 | axios | #### 开发环境部署 ``` bash # 克隆项目 git clone https://github.com/apache/****-admin.git # 打包OpenATC-Config-web项目(该项目为平台主项目的组件项目,故需要提前打包,不然直接编译会出现找不到edgebase-front依赖包的情况。) npm install npm run package # 安装OpenATC-Admin-web主项目依赖 npm install # 建议不要用cnpm 安装有各种诡异的bug 可以通过如下操作解决npm速度慢的问题 npm install --registry=https://registry.npm.taobao.org # 启动服务 npm run dev # 访问 访问地址为:http://localhost:9528 # 构建测试环境 npm run build:stage # 构建生成环境 npm run build:prod # 预览发布环境效果 + 静态资源分析 npm run preview --report ``` #### 第三方通过url跳转配置界面说明 ##### 跳转url `https://dolphin-dev.kedacom.com/openatc/#/overviewNew/index` ##### url传参说明 | 参数名 | 必选 | 类型 | 说明 | 可选项 | | -------- | -------- | -------- | -------- | -------- | | agentid | 是 | number | 设备id | 10001 | | isfromatc | 否 | boolean (default: false) | 控制国际化切换、登出、修改密码功能是否可见,传true则不可见 | true | | hideMenu | 否 | boolean (default: false) | 控制左侧菜单栏以及切换到文字界面的图标是否可见,传true则不可见 | true | | shrink | 否 | number | 首页主内容区域缩放比例(取值为0~1之间) | 0.8 | | graphicMode | 否 | boolean (default: false) | 控制首页只显示路口图 | true | ##### 举例 `https://dolphin-dev.kedacom.com/openatc/#/overviewNew/index?agentid=10001&isfromatc=true&hideMenu=true` #### chrome浏览器下,脚本页面无法正常登陆解决方法 ##### 原因 Chrome浏览器默认限制了第三方Cookie,这将影响正常登录,需要更改浏览器的隐私设置,解除限制后重试 ##### 解决方法 chrome://flags/ 把这句复制到浏览器,回车 SameSite by default cookies Cookies without SameSite must be secure 找到上面这两两项设置成 Disable即可 #### 系统配置参数 ##### 可用参数说明 | 模块 | 名称 | 举例 | 说明 | | -------- | -------- | -------- | -------- | | theme | theme | dark | 系统默认加载的主题,dark代表深色系主题,不填默认加载浅色主题 | | language | language | zh | 默认加载的语言,有两个可选值:zh代表中文,en代表英文 | | media | mediaWebsocketUrl | wss://192.168.7.183/ | 视频ws流媒体地址 | | jupyter | url | http://192.168.14.168:8888/tree | jupyter跳转地址 | | gis | zoom | 12 | 地图默认缩放等级 | | gis | maxZoom | 18 | 地图最大缩放等级 | | gis | minZoom | 12 | 地图最小缩放等级 | | gis | center | [31.22784056, 121.68148040] | 地图默认中心点 | | gis | gisNormal | http://192.168.14.168:7080/PBS/rest/services/MyPBSService1/MapServer/tile/{z}/{y}/{x} | 2D地图本地服务资源地址 | | gis | gisStatellite | http://192.168.14.168:7081/PBS/rest/services/MyPBSService2/MapServer/tile/{z}/{y}/{x} | 卫星图本地服务资源地址 | | gis | gisBoundLeftTop | [31.36360615, 121.30622863] | 地图边界的左上角纬度经度 | | gis | gisBoundRightBottom | [31.11040156, 121.95270538] | 地图边界的右下角纬度经度 | | gis | isShowVideo | true | gis勤务路线是否显示视频 | #### 界面展示 ![Image text](https://gitee.com/openatc/openatc-doc/raw/master/OpenATCAdminManual_cn/docs/imgs/ch01-01.png) ![Image text](https://gitee.com/openatc/openatc-doc/raw/user/OpenATCconfigerManual_cn/docs/imgs/ch01-01.png) ![Image text](https://gitee.com/openatc/openatc-doc/raw/user/OpenATCAdminManual_cn/docs/imgs/ch03-14.png) --- ### 后端部分 #### 技术栈 | Component | 技术 | | -------- | -------- | | 框架 | SpringBoot (Java)| | 安全 | Shiro + JWT| | 数据库 | Sqlite | | 持久化 | JPA | | 构建工具 | Maven (Java) | #### 开发环境部署 ``` bash # Clone project git clone https://gitee.com/openatc/open-atc-admin.git # Maven管理KDagent 使用IDEA打开第一步下载的项目文件,右键 OpenATC-Admin/OpenATC-Admin-server/KDagent/pom.xml文件, 点击Add as Maven Project,将KDagent交给Maven管理 # Maven管理kdalgorithm、KDCore、KDComm 使用第二步的方法,依次右键....../**algorithm**/pom.xml、....../**KDCore**/pom.xml、....../**KDComm**/pom.xml, 点击Add as Maven Project,将kdalgorithm、KDCore、KDComm三个模块交给Maven管理 # 加载本地jar包 点击右侧 maven -> kdcomm -> Lifecycle -> install,将kocomm模块的jar包加载的本地仓库; 然后,同样地继续将kdalgorithm、kdcore的jar包也加载到本地仓库 # 更改数据库连接配置 配置好 OpenATC-admin-server/KDagent/src/main/resources/application.properties 中连接数据库的用户名、密码以及数据库连接地址 # 构建 mvn clean package # 启动 mvn --projects OpenATC-admin-server spring-boot:run or cd OpenATC-admin-server/target; java -jar kdagent-1.2-SNAPSHOT.jar # 访问 访问地址为 `http://localhost:10003` ``` --- ### 注意 - 为了方便开发,我们提供了这种前后端分离的部署模式,主要的好处是支持前端热部署,在这种模式下,前端会通过9528端口访问后端的restful api接口,获取数据, 这将导致跨域访问的问题。因此我们在`OpenATC-admin-ui/config/index.js`添加了支持跨域访问的配置,当前端通过`npm run dev`单独启动时,这些配置将被激活,允许跨域访问 --- ### License - Mulan PSL v2 --- ### 联系我们 - 在Gitee Issues中提问 - 电子邮件:openatc@kedacom.com