gsadmin发布脚手架工具 gsadminCli 助力快速开发

sonhineboy · · 20 次点击 · · 开始浏览    

### gsadmin GS Admin=gin+gorm+scui 它是golang 开发的一个企业级后台。遵循MIT开源协议。前端框架是scui,SCUI基于 Vue3、elementPlus 持续性的提供独家组件和丰富的业务模板帮助你快速搭建企业级中后台前端任务。后端框架是gin,Gin是一个golang的微框架,封装比较优雅,具有快速灵活,容错方便等特点。内置了权限管理、用户管理等基础模块儿,还支持了事件服务,方便业务解耦。后续会根据用户的反馈更新内容! ## gsadminCli 为什么会有这个工具,起因是在使用gsadmin项目开发中,有很多重复的工作,而我们真正关注应该是业务,不应该是这些重复的工作,所以就让这些工作交给gsadminCli 来处理吧。它主要能帮你创建 controller、validator、request、event、listener、model(目前仅支持Mysql)、repository。下面我们一起来看看具体怎么使用吧。 ### 安装 ```shell go install github.com/sonhineboy/gsadminCli ``` ### 命令介绍 | 命令 | 说明 | | ----------- | ----------- | | make:controller | 创建控制器 | | make:validator |创建自定义验证器| | make:request |创建请求结构体| | make:event |创建事件| | make:listener |创建事件监听者| | make:model |创建表模型| | make:repository |创建仓储业务| ### 参数 | 参数 | 说明 | | ----------- | ----------- | | -v| 查看版本| | -h|查看帮助信息| ### 子命令参数 | 参数 | 说明 | | ----------- | ----------- | | --package|如果是在根目录创建;必填| | -h|查看帮助信息| |-t| --table 表名 make:model 可用| |-d| --dns 数据库连接dns make:model 可用| ### 部分演示 #### 创建 controller ``` gsadminCli make:controller ./app/controllers/demoController --package=controllers ``` - 代码如下 ``` package controllers import ( "github.com/gin-gonic/gin" ) type DemoController struct{} func (controller *DemoController) Index(ctx *gin.Context) { } func (controller *DemoController) Save(ctx *gin.Context) { } func (controller *DemoController) Edit(ctx *gin.Context) { } func (controller *DemoController) Delete(ctx *gin.Context) { } func (controller *DemoController) Get(ctx *gin.Context) { } ``` #### 创建validator ``` gsadminCli make:validator ./app/validators/demoValidator ``` - 代码如下 ``` package validators import ( "github.com/go-playground/validator/v10" "github.com/sonhineboy/gsadminValidator/ginValidator" ) type DemoValidator struct { ginValidator.BaseValidator } //自定义验证名称 TagName func (d *DemoValidator) TagName() string { return "Demo" } //错误提示信息 Messages func (d *DemoValidator) Messages() string { //This is error message return "" } //验证规则 Validator true 通过 false 未通过 func (d *DemoValidator) Validator(fl validator.FieldLevel) bool { //To Do ..... return true } ``` #### 创建表模型 ``` gsadminCli make:model ./app/models/member.go -d='root:@tcp(127.0.0.1:3306)/demo' -t=members ``` - 代码如下 ``` package models import ( "fmt" "github.com/sonhineboy/gsadmin/service/global" ) type Member struct { global.GsModel Name string `gorm:"column:name;json:name"` Email string `gorm:"column:email;json:email"` Age int8 `gorm:"column:age;json:age"` Birthday string `gorm:"column:birthday;json:birthday"` MemberNumber string `gorm:"column:member_number;json:member_number"` ActivatedAt string `gorm:"column:activated_at;json:activated_at"` } func (m *Member) TableName() string { return fmt.Sprint(global.Config.Db.TablePrefix, "members") } ```

有疑问加站长微信联系(非本文作者))

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

20 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传