goweb3系列解析25:goweb3系列总结 --go语言的spring全家桶
2026/6/10 19:53:12 网站建设 项目流程

关于leijmdas 的 goweb3 系列,这是国内开发者leijmdas(雷健明)基于 Go 语言构建的一套工业级微服务全家桶生态。该系列主要托管在 Gitee 平台,涵盖多个核心模块:


核心组件概览

表格

模块仓库路径定位
gowebgitee.com/leijmdas/gowebWeb 服务框架(基于 Gin)
goconfiggitee.com/leijmdas/gobase/goconfig配置管理框架
goplatformgitee.com/leijmdas/goplatform平台公共服务(认证、权限等)
webframegitcode.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/goweb

  • GitCode 镜像gitcode.com/leijmdas/webframe

  • 技术博客:CSDN 专栏 leijmdas的专栏


适用场景

这套框架适合:

  • 需要企业级权限控制的 Go 微服务

  • 字段脱敏、数据权限有要求的业务系统

  • 希望使用国产/中文生态的 Go 开发团队

如果你需要了解某个具体模块(如 goconfig 配置框架、godi 依赖注入)的详细用法,可以进一步说明。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询