Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions designer-demo/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
"type": "module",
"scripts": {
"dev": "cross-env vite",
"dev:withAuth": "cross-env VITE_AUTH=true vite",
"build:alpha": "cross-env NODE_OPTIONS=--max-old-space-size=10240 vite build --mode alpha",
"build": "cross-env NODE_OPTIONS=--max-old-space-size=10240 vite build",
"test": "vitest run",
Expand Down
112 changes: 67 additions & 45 deletions docs/development-getting-started/debugging-of-java-backend.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,10 @@

本篇主要介绍在本地启动TinyEngine前端并对接本地Java版本后端方式(默认为前端使用mockServer方式)进行开发联调。

Tips:
- 对接Node.js版本服务端与Java版本服务端过程类似。另外Node.js版本后续不再进行新特性开发,只维护基础功能,建议使用Java版本服务端。
- 本篇以Clone前端源码方式启动为例,使用CLI创建新设计器启动前端方式对接后端与之类似。
**Tips:**

- 对接 Node.js 版本服务端与 Java 版本服务端过程类似。另外 Node.js 版本后续不再进行新特性开发,只维护基础功能,建议使用 Java 版本服务端。
- 本篇以 Clone 前端源码方式启动为例,使用 CLI 创建新设计器启动前端方式对接后端与之类似。

## 启动前的准备

Expand All @@ -13,85 +14,106 @@ Tips:

## 启动服务

### 1.前端启动

- 把前端项目工程导入 vscode 后下载依赖,进入项目根目录下执行  `pnpm i`
### 1.后端启动

- 在项目根目录下执行构建`pnpm run setup`
#### 1.1 新建数据库
首先新建 MySQL 数据库连接,以 Navicat 为例:

- 修改文件配置
选择“新建连接”->“MySQL”->“下一步”->输入连接名称、用户名、密码->“测试连接”->“确定”

修改`tiny-engine/designer-demo/env/.env.development`中的 VITE_ORIGIN 变量为自己本地的服务端地址端口
如下图所示

![](./imgs/java-debugging-image33.png)
![](./imgs/java-debugging-image36.png)

修改`tiny-engine/designer-demo/engine.config.js`中的 material 获取物料组件
继续新建数据库:
“新建数据库”->输入数据库名称

![](./imgs/java-debugging-image34.png)
如下图所示

- 在项目根目录下执行启动`pnpm run serve:frontend`
![](./imgs/java-debugging-image37.png)

出现如下图所示表示启动成功,启动成功后浏览器会自动打开设计器页面
#### 1.2 执行 SQL 文件导入数据库表与基础数据

![](./imgs/java-debugging-image35.png)
**在按照上述操作后的新建的数据库名称上右键选择“运行 SQL 文件”->在文件项选择下面两个 SQL 文件导入运行**

### 2.后端启动
如下图所示

#### 新建数据库
![](./imgs/java-debugging-image38.png)

**步骤 1 鼠标右键选择“新建连接”->“MySQL”->“下一步”->输入连接名称、用户名、密码->“测试连接”->“确定”**
执行以下 SQL 文件去创建设计器涉及的表(按照序号依次导入执行),目录如下:

如下图所示
`tiny-engine-backend-java/app/src/main/resources/sql/mysql/*.sql`

![](./imgs/java-debugging-image36.png)

**步骤二 在步骤一新建的连接上右键选择“新建数据库”->输入数据库名称**
执行以下 SQL 文件去添加表的基础数据(按照日期依次导入执行),目录如下:

如下图所示
`tiny-engine-backend-java/app/src/main/resources/sql/mysql/init_data*.sql`

![](./imgs/java-debugging-image37.png)
**Tips:** 多条 SQL 依次导入比较麻烦,可以拼接成一条 SQL 一次性导入该 SQL:

#### 执行脚本文件
```sh
cd docker-deploy-data/mysql/init
cat ./*.sql > complete.sql
# 导入complete.sql
```

**步骤一   在按照上述操作后的新建的数据库名称上右键选择“运行 SQL 文件”->在文件项选择下面两个 SQL 文件导入运行**

如下图所示
#### 1.3 修改数据库等相关的配置项

![](./imgs/java-debugging-image38.png)
在 `tiny-engine-backend-java/app/src/main/resources/application-dev.yml` 文件中设置自己的端口号 `port`(和前端 `tiny-engine/designer-demo/env/.env.development` 文件中的 `VITE_ORIGIN` 变量中的端口号保持一致)、还有数据库连接信息(用户名 `username`、密码 `password`、`URL`)

执行以下 SQL 文件去创建设计器涉及的表,目录如下:
![](./imgs/java-debugging-image39.png)

`tiny-engine-backend-java/app/src/main/resources/sql/mysql/create_all_tables_ddl_v1.mysql.sql`
#### 1.4 启动后端项目

执行以下 SQL 文件去添加表的基础数据,目录如下:
**步骤一**:先安装 Maven,若没有从 [Maven 官网](https://maven.apache.org/download.cgi) 下载并解压,Maven 3.5 以上即可,并配置环境变量

`tiny-engine-backend-java/app/src/main/resources/sql/mysql/init_data_for_test.sql`
**步骤二**:在项目根目录执行构建打包

#### 修改数据库等相关的配置项
```sh
mvn clean package
```

在`tiny-engine-backend-java/app/src/main/resources/application-dev.yml`文件中设置自己的端口号 port(和前端`tiny-engine/designer-demo/env/.env.development`文件中的 VITE_ORIGIN 变量中的端口号保持一致)、还有数据库连接信息(用户名 username、密码 password、URL)
**步骤三**:在项目根目录执行启动

![](./imgs/java-debugging-image39.png)
```sh
java -jar app/target/tiny-engine-app-1.0-SNAPSHOT.jar
```

#### 启动后端项目
执行后终端中看到下图界面表示后端服务启动成功:

步骤一   先安装 maven,若没有从[Maven 官网](https://maven.apache.org/download.cgi)下载并解压,Maven 3.5 以上即可,并配置环境变量
![](./imgs/java-debugging-image40.png)

步骤二 在项目根目录执行构建打包`mvn clean package`
Swagger 访问链接路径:
`localhost:9091/swagger-ui.html`

步骤三 在项目根目录执行启动`java -jar app/target/tiny-engine-app-1.0-SNAPSHOT.jar`
**可详细查看接口 API**:

按照以上步骤执行前后端操作,即能成功启动本地前后端关联进行调试
![](./imgs/java-debugging-image42.png)

![](./imgs/java-debugging-image40.png)
### 2. 前端启动

前后端启动成功后页面会自动弹出,如下可看连接数据库数据接口调通能返回正常数据
- 把前端项目工程导入 VSCode 后下载依赖,进入项目根目录下执行  `pnpm i`

![](./imgs/java-debugging-image41.png)
- 修改文件配置

三、swagger 访问链接路径:
`localhost:9091/swagger-ui.html`
修改 `tiny-engine/designer-demo/env/.env.development`中的 `VITE_ORIGIN` 变量为自己本地的服务端地址端口:

**可详细查看接口 api**
![](./imgs/java-debugging-image33.png)

![](./imgs/java-debugging-image42.png)
- 在项目根目录下执行启动

```sh
pnpm dev:withAuth
```

出现如下图所示表示启动成功,启动成功后浏览器会自动打开设计器页面:

![](./imgs/java-debugging-image35.png)

前后端启动成功后页面自动弹出,如下可看连接数据库数据接口调通能返回正常数据:

![](./imgs/java-debugging-image41.png)

按照以上步骤执行前后端操作,即已成功启动本地前后端关联进行调试。
Binary file not shown.
4 changes: 2 additions & 2 deletions docs/solutions/server-deployment-solution-java.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
- **安装 jdk 8**

```
suto yum install java-1.8.0-openjdk-devel
sudo yum install java-1.8.0-openjdk-devel
```

安装完成后,可以使用`java -version`命令来验证 JDK 是否安装成功
Expand All @@ -21,7 +21,7 @@ export PATH=$JAVA_HOME/bin:$PATH

再使用 source 命令使配置生效`source ~/.bash_profile`

- **安装 maven** `suto yum install maven`
- **安装 maven** `sudo yum install maven`

若执行命令后报错如下,那么就进行手动安装

Expand Down
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
"scripts": {
"preinstall": "npx only-allow pnpm",
"dev": "pnpm run setup && concurrently 'pnpm:serve:backend' 'pnpm:serve:frontend'",
"dev:withAuth": "pnpm run setup && pnpm --filter designer-demo dev:withAuth",
"serve:frontend": "pnpm --filter designer-demo dev",
"serve:backend": "pnpm --filter @opentiny/tiny-engine-mock dev",
"build:plugin": "pnpm --filter @opentiny/tiny-engine-* --filter @opentiny/tiny-engine build",
Expand Down
4 changes: 3 additions & 1 deletion packages/design-core/registry.js
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,8 @@ import {
} from './re-export'

const isDevelopEnv = import.meta.env.MODE?.includes('dev')
const useAuth = import.meta.env.VITE_AUTH === 'true'

window.__TINY_ENGINE_REMOVED_REGISTRY = {}

export default {
Expand Down Expand Up @@ -136,7 +138,7 @@ export default {
}
],
enableTailwindCSS: true,
enableLogin: isDevelopEnv ? false : true
enableLogin: useAuth || !isDevelopEnv
},
layout: __TINY_ENGINE_REMOVED_REGISTRY['engine.layout'] === false ? null : Layout,
toolbars: [
Expand Down
1 change: 1 addition & 0 deletions packages/design-core/vite.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,7 @@ export default defineConfig({
'import.meta.env.VITE_ORIGIN': 'import.meta.env.VITE_ORIGIN',
'import.meta.env.VITE_CDN_DOMAIN': 'import.meta.env.VITE_CDN_DOMAIN',
'import.meta.env.VITE_API_MOCK': 'import.meta.env.VITE_API_MOCK',
'import.meta.env.VITE_AUTH': 'import.meta.env.VITE_AUTH',
'import.meta.env.VITE_CDN_TYPE': 'import.meta.env.VITE_CDN_TYPE',
'import.meta.env.VITE_LOCAL_IMPORT_PATH': 'import.meta.env.VITE_LOCAL_IMPORT_PATH',
'import.meta.env.VITE_LOCAL_IMPORT_MAPS': 'import.meta.env.VITE_LOCAL_IMPORT_MAPS'
Expand Down