# my_simple_workflow **Repository Path**: guwei786228836/my_simple_workflow ## Basic Information - **Project Name**: my_simple_workflow - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-06-27 - **Last Updated**: 2026-06-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Demo · Spring Boot 3.5 + Vue3 前后端分离框架 一个最小可用的前后端分离 Web 骨架,跑通「统一返回 + 全局异常 + 分页 CRUD」全链路,作为业务开发的起手基座。 ## 技术栈 | 层 | 技术 | |---|---| | 后端 | Java 21 · Spring Boot 3.5.15 · MyBatis-Plus 3.5.14 · MySQL(实测 9.3.0) | | 前端 | Vue 3.5 · TypeScript 5 · Vite 6 · Vue Router 4 · Pinia · axios · Element Plus 2 | | 构建 | Maven 3.9.13(阿里云镜像)· pnpm | ## 目录结构 ``` my_test/ ├── backend/ # Spring Boot 后端 │ ├── pom.xml │ └── src/main/ │ ├── java/com/example/demo/ │ │ ├── DemoApplication.java │ │ ├── common/ # Result / ResultCode 统一返回 │ │ ├── exception/ # 全局异常 → Result │ │ ├── config/ # CORS / MyBatis-Plus 分页 │ │ ├── entity/dto/mapper/service/controller # User CRUD 示例 │ └── resources/ │ ├── application.yml / application-dev.yml │ └── db/schema.sql # 建库建表 + 示例数据 └── frontend/ # Vue3 前端 ├── vite.config.ts # /api 代理 → 8080 └── src/ ├── api/ # axios 封装 + user API ├── router/ stores/ layouts/ views/ └── main.ts ``` ## 环境要求 - JDK 21(本机装于 `/Library/Java/JavaVirtualMachines/jdk-21.jdk`,当前默认 PATH 可能是 1.8,构建时务必指定 `JAVA_HOME`) - Node 22+ / pnpm(首次用 `corepack enable && corepack prepare pnpm@latest --activate`) - MySQL(本机实测 9.3.0,账号 `root` / 密码 `12345678`,地址 `127.0.0.1:3306`) ## 数据库初始化 执行 `backend/src/main/resources/db/schema.sql`(已建好 `demo_db` 与 5 条示例数据)。 ```bash mysql -h 127.0.0.1 -uroot -p12345678 < backend/src/main/resources/db/schema.sql ``` ## 启动后端 ```bash export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-21.jdk/Contents/Home /Users/guwei/UGit/mywork/maven/apache-maven-3.9.13/bin/mvn \ -s /Users/guwei/UGit/mywork/maven/settings_aliyun_mac.xml \ -Dmaven.repo.local=/Users/guwei/.m2/repository \ -f /Users/guwei/UGit/my_test/backend/pom.xml \ spring-boot:run ``` > 注意:`settings_aliyun_mac.xml` 内 `localRepository` 指向 `/Users/ntdx/...`(不可写),需用 `-Dmaven.repo.local` 覆盖到 `~/.m2/repository`。 启动后访问 `http://localhost:8080/api/users?pageNum=1&pageSize=10`,应返回: ```json { "code": 200, "message": "success", "data": { "records": [...], "total": 5, ... } } ``` ## 启动前端 ```bash pnpm -C /Users/guwei/UGit/my_test/frontend install pnpm -C /Users/guwei/UGit/my_test/frontend dev ``` 浏览器打开 `http://127.0.0.1:5173`: - `/` 首页:技术栈说明 - `/users` 用户管理:查询、新增、编辑、删除,通过 Vite `/api` 代理直连后端 ## 约定 - **统一返回**:所有接口返回 `Result = { code, message, data }`,业务失败用 `code` 区分;前端拦截器按 `code === 200` 判成功并自动 `ElMessage` 报错。 - **分层**:Controller 仅编排,Service 返回 `Result`,Mapper 继承 `BaseMapper`。 - **注释语言**:代码注释英文,对外文档中文。 ## 风险与后续 - Spring Boot 3.5.x 开源 EOL 为 2026-06-30,结构保持标准,后续可平滑迁 4.x(届时确认 `mybatis-plus-spring-boot3-starter` 对 Boot 4 适配)。 - 当前未接鉴权;如需登录,可加 Sa-Token 或 Spring Security + JWT。