# OpenATC-Admin **Repository Path**: repoAlex/open-atc-admin ## Basic Information - **Project Name**: OpenATC-Admin - **Description**: OpenATC管理平台,包含设备管理,设备配置,权限管理,绿波路线,勤务路线等多种功能。通讯协议开源开放,支持对接多种协议的交通信号控制设备。具有最实用的信控优化算法,并可对接OpenATC虚拟环境,对更高级的信控算法进行扩展和验证。 - **Primary Language**: Java - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: http://www.openatc.org.cn - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 123 - **Created**: 2022-07-14 - **Last Updated**: 2022-07-29 ## 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代表加载深色系主题,不填或light加载浅色主题 | dark/light | | language | language | 默认加载的语言:zh代表中文,en代表英文 | zh/en | | media | mediaWebsocketUrl | 视频ws流媒体地址 | wss://192.168.7.183/ | | jupyter | url | jupyter跳转地址 | http://192.168.14.168:8888/tree | | gis | zoom | 地图默认缩放等级,推荐12 | 0~18 | | gis | maxZoom | 地图最大缩放等级,推荐18 | 0~18 | | gis | minZoom | 地图最小缩放等级,推荐12 | 0~18| | gis | center | 地图默认中心点,可填:[31.22784056, 121.68148040] | [Lat, Lng] | | gis | gisNormal | 2D地图本地服务资源地址 | http://192.168.14.168:7080/PBS/rest/services/MyPBSService1/MapServer/tile/{z}/{y}/{x} | | gis | gisStatellite | 卫星图本地服务资源地址 | http://192.168.14.168:7081/PBS/rest/services/MyPBSService2/MapServer/tile/{z}/{y}/{x} | | gis | gisBoundLeftTop | 地图边界的左上角纬度经度,可填:[31.36360615, 121.30622863] | [Lat, Lng] | | gis | gisBoundRightBottom | 地图边界的右下角纬度经度,可填:[31.11040156, 121.95270538] | [Lat, Lng] | | gis | isShowVideo | gis勤务路线是否显示视频:true代表显示视频(前提是有视频资源),不填或false代表不显示视频 | true/false | | gis | isShowGisMenu | 菜单栏是否显示地图菜单:true代表显示地图菜单,不填或false代表不显示地图菜单 | true/false | ### 注意: isShowGisMenu 控制地图是否显示,默认不显示。 gisNormal 是2D地图服务参数,需要自行。 gisStatellite 是3D地图服务参数,需要自行配置。 目前可支持OSM地图、高德地图和百度地图。 例如高德地图,离线地图配置,详情参考:https://blog.51cto.com/bigemap/4997736#:~:text=%E9%AB%98%E5%BE%B7%E7%A6%BB%E7%BA%BF%E5%9C%B0%E5%9B%BE%E5%BC%80%E5%8F%91%E4%B8%BB%E8%A6%81%E6%9C%89%E4%B8%A4%E9%83%A8%E5%88%86%E7%BB%84%E6%88%90%EF%BC%9A1%E3%80%81%E8%8E%B7%E5%8F%96%E7%A6%BB%E7%BA%BF%E5%9C%B0%E5%9B%BE%E6%95%B0%E6%8D%AE%EF%BC%9B%E5%9B%A0%E4%B8%BA%E7%A6%BB%E7%BA%BF%E5%9C%B0%E5%9B%BE%E4%B8%80%E8%88%AC%E9%83%BD%E6%98%AF%E5%B1%80%E5%9F%9F%E7%BD%91%EF%BC%8C%E6%89%80%E4%BB%A5%E9%9C%80%E8%A6%81%E7%A6%BB%E7%BA%BF%E5%9C%B0%E5%9B%BE%E6%95%B0%E6%8D%AE%E6%94%BE%E5%9C%A8%E5%86%85%E7%BD%91%E4%B8%AD%E4%BD%BF%E7%94%A8%EF%BC%9B2%E3%80%81%E7%A6%BB%E7%BA%BF%E5%9C%B0%E5%9B%BE%E6%9C%8D%E5%8A%A1%E5%99%A8%E6%90%AD%E5%BB%BA%E4%BB%A5%E5%8F%8A%E4%BA%8C%E6%AC%A1%E5%BC%80%E5%8F%91%E6%8E%A5%E5%8F%A3%E6%8F%90%E4%BE%9B%EF%BC%8C%E7%A6%BB%E7%BA%BF%E5%9C%B0%E5%9B%BE%E6%98%AF%E4%B8%80%E7%A7%8D%E6%9C%8D%E5%8A%A1%EF%BC%8C%E5%B0%B1%E5%83%8F%E6%88%91%E4%BB%ACApache%E6%8F%90%E4%BE%9B%E7%9A%84WEB%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%80%E6%A0%B7%EF%BC%8C%E4%BB%96%E6%98%AF%E4%B8%80%E7%A7%8D%E5%87%86%E4%BB%AC%E7%9A%84%E5%9C%B0%E5%9B%BE%E6%9C%8D%E5%8A%A1%EF%BC%9A%E6%8F%90%E4%BE%9B%E4%BA%86%E5%8C%85%E6%8B%AC,WEB%E6%9C%8D%E5%8A%A1%E3%80%81TMS%E6%9C%8D%E5%8A%A1%E3%80%81WMTS%E6%9C%8D%E5%8A%A1%E7%AD%89%E7%AD%89%E3%80%82 #### 界面展示 ![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 | | 安全 | Shiro + JWT| | 数据库 | PostgreSQL(10.1+) | | 持久化 | JPA | | 构建工具 | Maven (3.5.2+) | | JDK | 1.8 | #### 开发环境部署 1、Clone project git clone https://gitee.com/openatc/open-atc-admin.git 2、Maven管理项目 (1)使用IDE工具(推荐Idea)打开项目; (2)右键OpenATC-Admin/OpenATC-Admin-server/pom.xml文件,Add as Maven Project,将项目交给Maven管理; (3)等依赖下载完毕; 3、创建数据库 创建数据库(openatc) 4、修改配置文件 (1)配置文件位置:OpenATC-Admin/OpenATC-Admin-server/agent/src/main/application.properties (2)配置参数说明(必须配置的参数): | 属性 | | | :-------------------------: | --------------------------------------------------------- | | server.port | 服务端口:10003(可修改) | | server.servlet.context-path | 服务根目录:/openatc(不可修改) | | spring.datasource.url | 数据源url | | spring.datasource.username | 数据源用户名 | | spring.datasource.password | 数据源密码 | | spring.redis.host | redis地址 | | spring.redis.port | redis端口 | | spring.redis.password | redis密码 | | agent.server.shiro | 是否开启shiro(默认true) | | agent.comm.thread.count.scp | scp协议线程数量(内部协议) | | agent.comm.thread.count.ocp | ocp协议线程数量(内部协议) | 5、启动项目 (0)说明:若运行了前端项目,可忽略步骤(1) (1)下载前端打包文件:版本附件中(static.rar),解压后放入OpenATC-Admin/OpenATC-Admin-server/目录下; (2)启动类所在位置:OpenATC-Admin/OpenATC-Admin-server/agent/src/main/java/com/openatc/agent/AgentApplication (3)运行启动类 6、访问项目: http://服务运行环境ip:服务端口号(配置文件中server.port对应的值)/openatc 7、平台使用手册: https://www.openatc.org.cn/ --- ### 注意 - 为了方便开发,我们提供了这种前后端分离的部署模式,主要的好处是支持前端热部署,在这种模式下,前端会通过9528端口访问后端的restful api接口,获取数据, 这将导致跨域访问的问题。因此我们在`OpenATC-admin-ui/config/index.js`添加了支持跨域访问的配置,当前端通过`npm run dev`单独启动时,这些配置将被激活,允许跨域访问 --- ### License - Mulan PSL v2 --- ### 联系我们 - 在Gitee Issues中提问 - 电子邮件:openatc@kedacom.com