# sheng **Repository Path**: topxue16888/sheng ## Basic Information - **Project Name**: sheng - **Description**: No description available - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2026-09-18 - **Last Updated**: 2026-09-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Scaffolding-v2 (脚手架 v2) 全栈多平台脚手架项目,包含代码生成器、后台管理系统、小程序与 UniApp。 ## 项目结构 ``` scaffolding-v2/ ├── generator/ # 代码生成器 (JavaFX 桌面应用) ├── sheng-admin/ # 后台管理系统 - 后端 (Spring Boot 3) ├── sheng-admin-ui/ # 后台管理系统 - 前端 (Vue 3) ├── sheng-mini/ # 小程序/IM 后端 (Spring Boot 3 + Netty) ├── sheng-mini-app/ # 微信原生小程序 ├── sheng-uni-app/ # UniApp 跨端 App ├── sql/ # 数据库初始化脚本 └── docs/ # 模块文档(im-module 等) ``` ## 技术栈 | 模块 | 技术栈 | 说明 | |------|--------|------| | **generator** | Java 21 + JavaFX 21 + Freemarker + SQLite | 可视化代码生成器,连数据库后生成 CRUD 代码 | | **sheng-admin** | Java 21 + Spring Boot 3.5 + MyBatis + Spring Security + JWT + Redis + Quartz | 基于 RuoYi-Vue 升级到 Spring Boot 3 的后台管理后端 | | **sheng-admin-ui** | Vue 3.5 + TypeScript + Vite 6 + Element Plus + Pinia + ECharts | 后台管理前端 | | **sheng-mini** | Java 21 + Spring Boot 3.5 + MyBatis-Plus 3.5 + Redis + Netty 4.1 | 小程序后端,集成 WebSocket IM(HTTP :8881, WS :9001) | | **sheng-mini-app** | 原生微信小程序 (WXML / WXSS / JS) | 微信原生端 | | **sheng-uni-app** | Vue 3 + Vite + UniApp | UniApp 跨端脚手架(H5 / App / 小程序) | | **sql** | MySQL DDL | 两个库:`ry-vue`(管理端)和 `jsj_mini`(小程序/IM) | ## 架构 ``` ┌─────────────────┐ ┌──────────────────┐ │ sheng-admin-ui │────>│ sheng-admin │────> MySQL (ry-vue) + Redis │ (Vue 3) │ │ (Spring Boot 3) │ └─────────────────┘ └──────────────────┘ ┌─────────────────┐ │ sheng-mini-app │──┐ │ (微信原生) │ │ ┌──────────────────┐ └─────────────────┘ ├──>│ sheng-mini │────> MySQL (jsj_mini) + Redis ┌─────────────────┐ │ │ HTTP :8881 │ │ sheng-uni-app │──┘ │ WS :9001 /ws │ │ (UniApp) │ └──────────────────┘ └─────────────────┘ ┌─────────────────┐ │ generator │────> 连接数据库,生成代码 │ (JavaFX) │ └─────────────────┘ ``` ## 核心特点 - **生成器驱动开发** — `generator` 工具一键生成 Controller / Service / DAO / DTO - **前后端分离 + 多端** — admin 端 Vue、移动端同时支持原生微信和 UniApp - **双后端独立部署** — sheng-admin 与 sheng-mini 解耦,可独立扩展 - **集成 Netty IM** — sheng-mini 内置 WebSocket 聊天(单聊/群聊/消息状态机) - **现代化技术栈** — Java 21 虚拟线程、Spring Boot 3、Vue 3 ## 快速开始 ### 环境要求 - JDK 21+ - Node.js 18+ - MySQL 8.0+ - Redis 6+ ### 1. 初始化数据库 ```bash # 导入顺序(脚本内已带 CREATE DATABASE / USE): mysql -u root -p < sql/admin.sql # 管理端表结构 + 初始数据 + Quartz,自动建 ry-vue 库 mysql -u root -p < sql/mini.sql # 小程序用户 + IM 四张表,自动建 jsj_mini 库 ``` ### 2. 启动后台管理后端 (sheng-admin) ```bash cd sheng-admin # 本地连接在 application.yml / application-druid.yml 里调整(或用环境变量) mvn spring-boot:run ``` 默认端口 `8080`,Swagger `http://localhost:8080/swagger-ui.html`。 ### 3. 启动后台管理前端 (sheng-admin-ui) ```bash cd sheng-admin-ui npm install npm run dev ``` ### 4. 启动小程序后端 (sheng-mini) ```bash cd sheng-mini mvn spring-boot:run ``` HTTP `8881`,WebSocket `ws://localhost:9001/ws`。 ### 5. 微信小程序 (sheng-mini-app) 用微信开发者工具打开 `sheng-mini-app/` 目录。 ⚠️ **重要**:修改 `sheng-mini-app/config.js`: ```javascript baseUrl: 'http://localhost:8881', // 默认错误写为 8080,需改为 sheng-mini 端口 ``` ### 6. UniApp (sheng-uni-app) ```bash cd sheng-uni-app npm install npm run dev:h5 # 或 dev:mp-weixin / dev:app ``` ### 7. 代码生成器 (generator) ```bash cd generator mvn javafx:run ``` ## 项目文档 详见 `doc/` 目录: - [项目索引(完整架构与实现说明)](doc/project-index.md)