|
| 1 | +# Central-Platform UI |
| 2 | + |
| 3 | + 本模块是基于`企业级微服务框架`后端 API 所开发的前端项目。 |
| 4 | + |
| 5 | +采用[Ant Design Pro](https://pro.ant.design/)框架,基于[UmiJS v3.x](https://v3.umijs.org/)和[ProComponents](https://procomponents.ant.design/); |
| 6 | +图表采用[Ant Design Charts](https://charts.ant.design/)。 |
| 7 | + |
| 8 | +## 一、目录说明 |
| 9 | +考虑到react的复杂性,保留了layui版本的前端。 |
| 10 | +```lua |
| 11 | +│ ├─layui-web -- layui前端 |
| 12 | +│ │ ├─src |
| 13 | +│ │ │ ├─main |
| 14 | +│ │ │ │ ├─java -- java启动类 |
| 15 | +│ │ │ │ ├─resources -- 前端源码 |
| 16 | +│ │ │ │ │ ├─static -- 前端源码 |
| 17 | +│ ├─react-web -- react前端 |
| 18 | +│ │ ├─src |
| 19 | +│ │ │ ├─main |
| 20 | +│ │ │ │ ├─frontend -- 前端源码(Ant Design Pro) |
| 21 | +│ │ │ │ ├─java -- java启动类(集成frontend-maven-plugin) |
| 22 | +``` |
| 23 | + |
| 24 | + |
| 25 | +## 二、运行方式 |
| 26 | +### 2.1. layui-web |
| 27 | +**以下 2 种运行方式,选一种运行即可。** |
| 28 | + |
| 29 | +#### 2.1.1. 方式一:直接运行 |
| 30 | +运行类 `com.central.web.BackWebApplication` |
| 31 | +> 基于 SpringBoot 内嵌的 web 容器 |
| 32 | +
|
| 33 | +#### 2.1.2. 方式二:静态服务器运行 |
| 34 | +把 `layui-web\src\main\resources\static` 下的内容复制到类似 `Nginx` 之类的静态服务器运行。 |
| 35 | + |
| 36 | +#### 2.1.3. 后端接口地址修改 |
| 37 | +修改 `layui-web\src\main\resources\static\module\apiUrl.js` 中的地址。 |
| 38 | + |
| 39 | + |
| 40 | +### 2.2. react-web |
| 41 | +**以下 3 种运行方式,选一种运行即可。** |
| 42 | + |
| 43 | +需要先安装 `nodejs` 官网地址:https://nodejs.org/en/download/ |
| 44 | + |
| 45 | +#### 2.2.1. 方式一:本地运行 |
| 46 | +##### 2.2.1.1. 安装node_modules |
| 47 | +执行以下命令: |
| 48 | +```bash |
| 49 | +npm install |
| 50 | +``` |
| 51 | +##### 2.2.1.2. 运行 |
| 52 | +运行 `frontend\start.bat` 文件或者执行 `npm start` 命令。 |
| 53 | + |
| 54 | +运行成功后,浏览器访问:http://localhost:8066 |
| 55 | + |
| 56 | +##### 2.2.1.3. 后端接口地址修改 |
| 57 | +修改 `react-web\src\main\frontend\config\proxy.ts` 中的地址。 |
| 58 | + |
| 59 | + |
| 60 | +#### 2.2.2. 方式二:静态服务器运行 |
| 61 | +##### 2.2.2.1. 源码编译 |
| 62 | +运行 `frontend\build.bat` 文件或者执行 `npm run build` 命令进行编译。 |
| 63 | + |
| 64 | +编译成功后,把 `react-web\src\main\frontend\dist` 下的内容复制到类似 `Nginx` 之类的静态服务器运行。 |
| 65 | + |
| 66 | +##### 2.2.2.2. 后端接口地址修改 |
| 67 | +通过反向代理,例如 `Nginx` 的配置如下: |
| 68 | +```json |
| 69 | +location ~ ^/api-* { |
| 70 | + proxy_set_header X-Real-IP $remote_addr; |
| 71 | + proxy_set_header X-Real-Port $remote_port; |
| 72 | + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; |
| 73 | + proxy_pass http://127.0.0.1:9900; |
| 74 | +} |
| 75 | + |
| 76 | +location / { |
| 77 | + root /usr/share/nginx/html; |
| 78 | + index index.html; |
| 79 | + expires 7d; |
| 80 | +} |
| 81 | +``` |
| 82 | + |
| 83 | + |
| 84 | +#### 2.2.3. 方式三:使用Java运行 |
| 85 | +模块已集成Maven插件`frontend-maven-plugin`用于编译前端代码 |
| 86 | +>由于需要安装前端环境并编译前端代码,**首次运行需要时间较长**。 |
| 87 | +
|
| 88 | +执行 maven 命令 `mvn package` 打包。 |
| 89 | + |
| 90 | +在target目录下生成zlt-web-x.x.x.jar(springboot jar)。 |
| 91 | +```bash |
| 92 | +java -jar zlt-web-5.4.0.jar |
| 93 | +``` |
| 94 | + |
| 95 | +或者直接在IDE中运行 `react-web\src\main\java\ui\ReactUiBootApplication.java` |
| 96 | +> 运行前必需先使用 maven 对 react-web 工程进行编译或打包。 |
| 97 | +
|
| 98 | + |
| 99 | +## 四、More |
| 100 | +开发参考 |
| 101 | +* [Ant Design Pro](https://pro.ant.design/) 开箱即用的中台前端/设计解决方案 |
| 102 | +* [UmiJS v3.x](https://v3.umijs.org/) 可扩展的企业级前端应用框架 |
| 103 | +* [Ant Design](https://ant.design/index-cn) 基于 Ant Design 设计体系的 React UI 组件库 |
| 104 | +* [ProComponents](https://procomponents.ant.design/) 基于 Ant Design 设计规范,提供更高程度的抽象,提供更上层的设计规范 |
| 105 | +* [Ant Design Charts](https://charts.ant.design/) 简单好用的 React 图表库 |
0 commit comments