https://gitee.com/gowebframe3/webframe.git
GoWebFrame3 工程功能清单
一、项目概述
GoWebFrame3 是一个基于 Go 语言的企业级 Web 开发框架,提供完整的后端开发能力,包括数据库操作、Elasticsearch 查询、依赖注入、配置管理等核心功能。
二、核心模块功能清单
1. goweb - Web框架核心模块
| 子模块 | 功能描述 |
|---|
| pagerequest | 页面请求抽象层,支持 ES 查询、元数据查询、关键词查询、命令请求等 |
| pagees | Elasticsearch 页面查询模块,支持聚合、高亮、分页等复杂查询 |
| pagedb | 数据库分页查询模块,支持 SQL 构建、自动迁移、命令执行 |
| webclient | 客户端模块,包含 ES Web 客户端、DB Web 客户端、Node 客户端 |
| ruleengine | 规则引擎模块,支持规则定义、规则缓存、规则文件管理 |
| meta | 元数据管理模块,支持数据库元数据提取、ES 索引元数据、代码生成 |
| generaldb | 通用数据库操作模块,提供 DAO、Service、Web 层通用接口 |
| mapper | 对象映射模块,支持结构体之间的自动转换 |
| pagefacade | 页面请求门面模式,提供统一的查询入口 |
| wso2agent | WSO2 API 网关集成模块 |
| webright | Web 权限验证模块 |
2. goconfig - 配置管理模块
| 子模块 | 功能描述 |
|---|
| ichubconfig | 配置中心模块,支持 Apollo 配置、INI 配置、微服务配置 |
| ichubcontext | 上下文管理模块,提供统一的客户端工厂和公共上下文 |
| ichubelastic | Elasticsearch 客户端管理 |
| ichubetcd | Etcd 客户端管理,支持分布式锁 |
| gocache | 缓存模块,支持 Redis、BigCache、LongCache |
| gogrpc | gRPC 客户端和服务端支持 |
| basedao | 基础 DAO 封装 |
| basemodel | 基础模型定义 |
| baseutils | 工具函数集(日期、加密、反射、字符串等) |
3. godi - 依赖注入模块
| 子模块 | 功能描述 |
|---|
| difactroy | DI 工厂模块,支持结构体解析、字段注入 |
| code | 代码生成模块,支持自动生成实体类、DAO、Service |
| didto | DI 数据传输对象定义 |
| dimodel | DI 模型示例(单例、简单、多例模式) |
4. internal - 业务域模块
| 子模块 | 功能描述 |
|---|
| domain/db | 数据库业务域,包含模型、DAO、Service、Web 层实现 |
| domain/es | Elasticsearch 业务域,包含 ES 模型和请求封装 |
| gorpc | gRPC 服务定义和实现 |
5. websample - Web示例项目
| 子模块 | 功能描述 |
|---|
| funcweb | 功能 Web 服务,包含配置、数据库、文件、日志、统计等示例 |
| grpcweb | gRPC Web 服务示例 |
| router | 路由注册和 Swagger 集成 |
| webstart | 服务启动入口 |
三、核心能力矩阵
| 能力类别 | 具体能力 | 所属模块 |
|---|
| 数据库操作 | MySQL/PostgreSQL/CockroachDB 支持、ORM、自动迁移、分页查询 | generaldb, pagedb |
| 全文检索 | ES 查询、聚合分析、高亮、元数据管理 | pagees, pagerequest |
| 配置管理 | Apollo 配置中心、多环境配置、动态配置 | goconfig |
| 依赖注入 | 自动注入、代码生成、生命周期管理 | godi |
| 缓存机制 | Redis、本地缓存、缓存刷新策略 | gocache |
| 消息队列 | NATS 消息发布订阅 | natsexample |
| API 网关 | WSO2 集成、API Key 管理 | wso2agent |
| 权限验证 | 请求令牌验证、权限检查 | webright |
| 规则引擎 | 规则定义、规则匹配、规则缓存 | ruleengine |
| gRPC | RPC 服务端/客户端、protobuf 支持 | gogrpc |
四、典型应用场景
- 企业级后台管理系统- 提供完整的 CRUD 能力和数据查询
- 日志分析平台- 基于 Elasticsearch 的日志检索和聚合分析
- 微服务架构- 支持 gRPC 通信和配置中心集成
- 数据同步服务- 支持数据库到 ES 的数据同步
- 定时任务调度- 支持规则引擎驱动的任务调度
五、技术栈
- 语言: Go 1.18+
- 数据库: MySQL、PostgreSQL、CockroachDB
- 搜索: Elasticsearch 7.x/8.x
- 缓存: Redis、BigCache
- 消息队列: NATS
- 配置中心: Apollo
- RPC: gRPC
- API 文档: Swagger
六、项目结构总结
webframe/ ├── goweb/ # Web框架核心 ├── goconfig/ # 配置管理 ├── godi/ # 依赖注入 ├── internal/ # 业务域实现 ├── websample/ # Web示例项目 ├── natsexample/ # NATS示例 ├── webexample/ # 页面示例 └── test/ # 测试模块