{"id":23339755,"url":"https://github.com/mazezen/ginframe","last_synced_at":"2026-02-27T20:16:09.248Z","repository":{"id":164804561,"uuid":"639825379","full_name":"mazezen/ginframe","owner":"mazezen","description":"基于Go语言gin框架搭建的可快速开发的微服务脚手架","archived":false,"fork":false,"pushed_at":"2024-12-21T03:46:17.000Z","size":188,"stargazers_count":182,"open_issues_count":1,"forks_count":33,"subscribers_count":2,"default_branch":"master","last_synced_at":"2026-01-14T21:50:59.052Z","etag":null,"topics":["aes","elasticsearch","email","gin","go","gorm","grpc","hash","jwt","kafka","leveldb","md5","mongodb","mysql","redis","rpc","websocket"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mazezen.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-05-12T10:05:24.000Z","updated_at":"2026-01-13T06:22:07.000Z","dependencies_parsed_at":"2024-05-20T02:41:44.214Z","dependency_job_id":"a80a788d-e7b5-43ca-b613-d2bc570021cb","html_url":"https://github.com/mazezen/ginframe","commit_stats":null,"previous_names":["jeffpek/ginframe","jeffcail/ginframe","mazezen/ginframe","jeffcail/gin-app"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/mazezen/ginframe","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mazezen%2Fginframe","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mazezen%2Fginframe/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mazezen%2Fginframe/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mazezen%2Fginframe/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mazezen","download_url":"https://codeload.github.com/mazezen/ginframe/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mazezen%2Fginframe/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29911573,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-27T19:37:42.220Z","status":"ssl_error","status_checked_at":"2026-02-27T19:37:41.463Z","response_time":57,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aes","elasticsearch","email","gin","go","gorm","grpc","hash","jwt","kafka","leveldb","md5","mongodb","mysql","redis","rpc","websocket"],"created_at":"2024-12-21T04:08:17.442Z","updated_at":"2026-02-27T20:16:09.233Z","avatar_url":"https://github.com/mazezen.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ginframe\n\u003e 基于Go语言gin框架搭建的可快速开发的微服务脚手架\n\n\n\u003ca href=\"https://github.com/mazezen/ginframe/releases\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/release/ginframe/releases.svg\" alt=\"GitHub release\"\u003e\n  \u003c/a\u003e\n   \u003ca href=\"https://github.com/mazezen/ginframe/blob/master/LICENSE\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/license/mashape/apistatus.svg\" alt=\"license\"\u003e\n  \u003c/a\u003e\n\n[TOC]- [关于我](#关于我)\n- [关于我](#关于我)\n- [ginframe](#ginframe)\n    - [简介](#简介)\n    - [目录结构](#目录结构)\n    - [安装](#安装)\n    - [目的及优势](#目的及优势)\n    - [职责](#职责)\n      - [1. 文件配置](#文件配置)\n      - [2. api路由](#api路由)\n      - [3. rpc](#rpc)\n      - [4. websocket路由](#websocket路由)\n      - [5. api返回统一格式](#api返回统一格式)\n      - [6. gorm](#gorm)\n      - [7. redis](#redis)\n      - [8. Mongo](#Mongo)\n      - [9. uber.zap.log](#uber.zap.log)\n      - [10. GOMAXPROCS](#GOMAXPROCS)\n      - [11. httprequest](#httprequest)\n      - [12. leveldb](#leveldb)\n      - [13. ElasticSearch](#ElasticSearch)\n      - [14. AES](#AES)\n      - [15. 加密](#加密)\n      - [16. 动态搜索+分页](#动态搜索+分页)\n      - [17. map合并和并发安全map](#map合并和并发安全map)\n      - [18. 时间处理工具类](#时间处理工具类)\n      - [19. 敏感词识别](#敏感词识别)\n      - [20. 邮件类工具](#邮件类工具)\n      - [21. kafka生产者、消费者](#kafka生产者、消费者)\n      - [22. etcd客户端连接初始化 (写入、读取、修改、删除)](#etcd客户端连接初始化 (写入、读取、修改、删除))\n      - [23. jwt](#jwt)\n      - [24. 登录签发token](#登录签发token)\n      - [25. token校验中间件](#token校验中间件)\n      - [26. 账号登录状态是否被禁用校验中间件](#账号登录状态是否被禁用校验中间件)\n      - [27. 常用正则表达式](#常用正则表达式)\n      - [28. 数组切片去重](#数组切片去重)\n# 关于我\n21实际拾荒人\n\n# ginframe\n基于Go语言gin框架搭建的可快速开发的微服务脚手架\n\n\n## 简介\n基于gin框架，搭建一个快速开发的脚手架。\n\n## 目录结构\n```markdown\nserver-common                         -- 服务公共模块\n    config                            -- 解析配置方法\n    const                             -- 全局常量\n    driver                            -- 全局驱动\n    nacosRF                           -- 全局nacos配置\n    pkg                               -- 全局公共包\n        gorm\n        httprequest\n        jwt\n        leveldb\n        mongo\n        redis\n        uber\n        viper\n        wetcd\n        wkafka\n    process                           -- cpu核心\n    servers                           -- gprc 服务发现\n    utils                             -- 全局工具类\n        email                         -- 发送邮件\n        encry                         -- 加密\n        enum                          -- api统一分装返回\n        ip                            -- ip工具\n        maps                          -- map工具\n        orm                           -- gorm动态搜索、分页\n        regmatch                      -- 正则匹配\n        slice                         -- 切片操作\n        wordsfilter                   -- 敏感词过滤\n        wtime                         -- 时间处理\nserver-user                           -- 用户服务\n    boot                              -- 启动目录\n        db.go\n        grpc.go\n        http.go\n        init.go\n        log.go\n        ws.go\n    cachedb                           -- 缓存操作\n    core                              -- 核心目录\n        db.go\n    daos                              -- daos\n    global                            -- user服务全局配置\n    grpcservices                      -- grpc services\n    handler                           -- 控制器\n    input                             -- 入参\n    middlewares                       -- 中间件\n    models                            -- 模型\n    out                               -- 出参映射\n    pb                                -- protobuf生成的文件目录\n    proto                             -- protobuf文件目录\n    router                            -- 路由\n        api.go\n        ws.go\n    rpc                               -- rpc\n    scripts                           -- 脚本\n    service                           -- 服务层\n    ulogger                           -- 服务日志\n    ws                                -- websocket\n    main.go                           -- 入口文件\nserver-test                           -- 测试服务\n......                                -- 其他服务\n.gitignore\ngo.mod                                -- mod包管理文件\nLICENSE\nREADME.md\n```\n\n## 安装\n安装完之后名字ginframe可改，可根据自己的需求精简或者添加架子结构。也可直接使用\n```shell\ngit clone https://github.com/mazezen/ginframe.git\n\ncd ginframe\n\nmake env\n\nmake mod\n\n```\n\n## 目的及优势\n\n* 快速上手、快速开发、快速交付\n* 高性能、高扩展，避免重复造轮子\n\n\n## 职责\n快速开发、避免重复造轮子\n\n### 文件配置\napplication.yml为主配置文件.ConfigRemote觉得是否启用远程配置，支持Nacos.\nconfig.yml 为应用配置\n\n### api路由\nhttp路由 \n\n### rpc\n\n### websocket路由\nwebsocket路由\n\n### api返回统一格式\n成功、失败、分页\n\n### gorm\n\n### redis\n\n### Mongo\n\n### uber.zap.log\n\n### GOMAXPROCS\n\n### httprequest\nhttp请求. GET、POST带header头和参数\n\n### leveldb\n\n### ElasticSearch\n\n### AES\n可用于api接口参数加密\n\n### 加密\nmd5加密 、sha256加密 、sha512加密 、文件md5加密 、 （密码+盐）hash加密(可以用于加密登录密码).\n\n### 动态搜索+分页\n\n### map合并和并发安全map\n\n### 时间处理工具类\n\n### 邮件类工具\n\n### kafka生产者、消费者\n\n### etcd客户端连接初始化 (写入、读取、修改、删除)\n\n### jwt\n\n### 登录签发token\n\n### token校验中间件\n\n### 账号登录状态是否被禁用校验中间件\n\n### 常用正则表达式\n1. 手机号\n2. 座机号\n3. 18位身份证号\n4. 护照编号\n5. 港澳通行证\n6. IP地址(ipv4)\n7. IPV6\n8. MAC地址\n9. 电子邮箱\n10. 统一社会信用代码\n11. 密码\n12. 网址URL 带端口号\n13. 网址URL 不带端口号\n14. 金额\n\n### 数组切片去重\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmazezen%2Fginframe","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmazezen%2Fginframe","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmazezen%2Fginframe/lists"}