项目介绍

  1. 这是一个基于go语言gin框架的web项目骨架,专注于前后端分离的单体应用业务场景(非微服务方向),其目的主要在于将web项目主线逻辑梳理清晰,最基础的东西封装完善,开发者更多关注属于自己的的业务即可。
  2. 本项目骨架封装了以tb_users表为核心的全部功能(主要包括用户相关的接口参数验证器、注册、登录获取token、刷新token、CURD以及token鉴权等),开发者拉取本项目骨架,在此基础上就可以快速开发自己的项目。
  3. 本项目骨架请使用 master 分支版本即可, 该分支是最新稳定分支。
  4. 本项目骨架从V1.4.00开始,要求go语言版本必须 >=1.15,才能稳定地使用gorm v2读写分离方案,go语言下载地址:https://studygolang.com/dl
  5. 在编写项目文档时,我一直最求简洁直达主题,但是最后发现和市面上的文档一样,首先给人的印象就是非常繁多,感觉使用起来会很复杂,这也是市面上的很多项目文档的通病,如果不写,很难介绍项目用法,写了就很吓人,但是别被项目文档吓倒,掌握了主线逻辑,使用真的很简单。
  6. 警告:本项目的开源协议是 MIT 协议,对于使用者没有任何限制,但是使用本项目骨架开发任何违法犯罪之类的项目,与本项目开发人员无任何关系,我们不承担任何连带法律责任.

主线核心逻辑图

我们使用的依赖包都是 githubstar非常高的知名包,语法都是通用的,我们很少去创造新语法让大家重新学习。
对于我们自己以及其他开发者来说,每学习一个框架难道又要学习一套新的语法?我本人非常反对这种模式。
ginskeleton 的学习您只需要把握好主线逻辑,3分钟上手没有任何困难。
关于其他一些细节语法(或者说所谓的坑也好),我们在问题汇总全部列出了清单(不超过10条),大家也可以快速掌握。
GinSkeleton.jpg

ginskeleton 的心脏——gin 主线核心调用链

掌握了gin 的主线核心调用链,你就明白每一个环节发生了什么,对全局逻辑做到胸有成竹。
gin_core_main_thread.png

生产使用情况介绍

我们公司最近2年(2019以后)开发比较多的是政府项目,后端功能都是基于 ginskeleton 系列,目前主要应用于上海市松江区政府的一些项目、上海市徐汇区政府的一些项目。
其他使用者的情况我们并未统计,今后也不会统计其他开发者开发的具体项目.