# xge **Repository Path**: Xge001/xge ## Basic Information - **Project Name**: xge - **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-08-05 - **Last Updated**: 2026-09-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # xge `xge` 是一个基于 Spring Cloud 的 Java 17 微服务后端,提供用户认证与权限管理、数据库元数据管理、模块日志查询和文件管理能力。 ## 模块 | 模块 | 类型 | 说明 | 地址 | | --- | --- | --- | --- | | `common` | jar | 公共常量、响应、异常、工具、日志和慢 SQL 能力 | - | | `authentication` | jar | Spring Security、JWT、Redis 鉴权实现 | - | | `user` | 服务 | 用户、角色、资源、密码登录、短信和 OAuth2,端口 `8801` | `/user` | | `database` | 服务 | 系统、数据源、数据库、表、字段、索引、ER 和代码生成,端口 `8802` | `/database` | | `log` | 服务 | 汇聚并分页查询业务、鉴权和慢 SQL 日志,端口 `8803` | `/log` | | `file` | 服务 | 文件类型、匹配规则、标签、扫描、预览、迁移和整理,端口 `8804` | `/file` | ## 技术栈 - Java 17 - Spring Boot 3.3.13 - Spring Cloud 2023.0.6 - Spring Cloud Alibaba / Nacos 2023.0.3.4 - Spring Security 6.5.9 - MyBatis 3.0.4 - MySQL 8.0+ - Redis ## 本地依赖 启动服务前准备 MySQL、Redis 和 Nacos: - MySQL:`localhost:3306`,数据库 `xge` - Redis:`127.0.0.1:6379` - Nacos:默认示例地址 `192.168.252.72:8848` 全新安装时创建数据库后,按顺序导入 `doc/ddl/user/`、`doc/ddl/database/`、`doc/ddl/log/` 和 `doc/ddl/file/` 下的基础建表 SQL。已有库升级时,先确认基础表已存在,再按实际版本依次执行 `doc/ddl/database/20260813_database_meta_migration.sql`、`doc/ddl/database/20260915_code_gen_default_unique_migration.sql`、`doc/ddl/file/20260914_file_info_address_unique_migration.sql`、`doc/ddl/file/20260914_match_rule_type_migration.sql` 和 `doc/ddl/user/20260911_user_account_flags_migration.sql`。 ```sql CREATE DATABASE xge DEFAULT CHARACTER SET utf8mb4; ``` ## Nacos 配置 四个可部署服务分别使用自己的 Data ID: | 服务 | Data ID | 本地完整示例 | | --- | --- | --- | | `user` | `user.yaml` | `user/src/main/resources/nacos/user.yaml` | | `database` | `database.yaml` | `database/src/main/resources/nacos/database.yaml` | | `log` | `log.yaml` | `log/src/main/resources/nacos/log.yaml` | | `file` | `file.yaml` | `file/src/main/resources/nacos/file.yaml` | 将对应示例发布到目标 Nacos namespace/group 后,使用以下环境变量启动服务: ```text NACOS_SERVER_ADDR=192.168.252.72:8848 NACOS_NAMESPACE=log_manage NACOS_GROUP=DEFAULT_GROUP NACOS_USERNAME=nacos NACOS_PASSWORD=nacos ``` `application.yml` 只保留应用名和 Nacos 引导配置。示例中的数据库密码、JWT secret 和 OAuth2 凭据仅用于本地开发,生产环境必须替换为受控 Nacos namespace 或 Secret 管理系统中的值。详细规则见 [Nacos 配置说明](doc/config/nacos/README.md)。 ## 编译与启动 使用 IntelliJ IDEA 自带 Maven: ```bash '/Applications/IntelliJ IDEA.app/Contents/plugins/maven/lib/maven3/bin/mvn' compile -DskipTests -q ``` 打包并启动单个服务: ```bash '/Applications/IntelliJ IDEA.app/Contents/plugins/maven/lib/maven3/bin/mvn' clean package -pl user -am -DskipTests java -jar user/target/user-1.0.0-SNAPSHOT.jar ``` 将 `user` 替换为 `database`、`log` 或 `file` 可启动其他服务。 ## 文档 - [项目索引](doc/索引.md) - [架构设计](doc/架构设计.md) - [数据库设计](doc/数据库设计.md) - [Nacos 配置说明](doc/config/nacos/README.md) - [user 接口文档](doc/api/user/接口汇总.md) - [database 接口文档](doc/api/database/接口汇总.md) - [log 接口文档](doc/api/log/接口汇总.md) - [file 接口文档](doc/api/file/接口汇总.md)