关于leijmdas 的 goweb3 系列,这是国内开发者leijmdas(雷健明)基于 Go 语言构建的一套工业级微服务全家桶生态。该系列主要托管在 Gitee 平台,涵盖多个核心模块:
核心组件概览
表格
| 模块 | 仓库路径 | 定位 |
|---|---|---|
| goweb | gitee.com/leijmdas/goweb | Web 服务框架(基于 Gin) |
| goconfig | gitee.com/leijmdas/gobase/goconfig | 配置管理框架 |
| goplatform | gitee.com/leijmdas/goplatform | 平台公共服务(认证、权限等) |
| webframe | gitcode.com/leijmdas/webframe | 基础 Web 框架封装 |
| godi | (相关生态) | 依赖注入框架 |
https://gitee.com/leijmdas/goweb3.git
主要特性
根据 leijmdas 的专栏文章和代码示例,goweb3 系列具有以下设计特点:
1. 权限控制体系
支持RPC 鉴权代理(
AuthProxy),通过goauth服务进行 Token 验证提供
WebCheckRight中间件机制,可灵活注册鉴权逻辑支持接口级权限判断(URL 权限控制)
2. 分页与数据转换(PageFacade)
PageFacade模式:遵循 Go "小接口、大组合"哲学,将分页、结果转换、字段脱敏、权限控制拆分为独立组件
支持字段级脱敏(如手机号
138****8888、身份证脱敏)支持基于角色的字段权限控制(
permissions map[string][]string)
3. 批处理异步接口
提供异步批处理任务框架
支持任务状态查询(进行中/已完成/已失败)
4. 工程化实践
基于Gin框架封装,集成Swagger自动生成 API 文档
统一的错误恢复机制(
recover+ 堆栈打印)结构化日志(基于
logrus)
典型使用方式
go
// 启动 Web 服务 func StartWeb() { InjectMiddleware() // 注入鉴权中间件 service.Init() // 初始化业务服务 config := ichubconfig.FindBeanIchubConfig() serverDto := config.ReadWebServer() server := webserver.New(serverDto) server.StartWebSwagger(router.Swagger, router.Register) }获取方式
Gitee 主仓库:
gitee.com/leijmdas/gowebGitCode 镜像:
gitcode.com/leijmdas/webframe技术博客:CSDN 专栏 leijmdas的专栏
适用场景
这套框架适合:
需要企业级权限控制的 Go 微服务
对字段脱敏、数据权限有要求的业务系统
希望使用国产/中文生态的 Go 开发团队
如果你需要了解某个具体模块(如 goconfig 配置框架、godi 依赖注入)的详细用法,可以进一步说明。