Go-sword(利刃) V2.0.0
一款基于 Go 语言的可视化 web 管理后台生成工具包 根据 MySQL 的表结构,创建 CRUD 的管理后台界面,开发者无需再重复手动的创建具有 CRUD 能力的页面,只需要点击按钮即可生成完整的管理后台
官网 https://sunshinev.github.io/go-sword-home/
官方文档更新可能不及时,请以 GIT README.md 为准
升级说明
v2.0.0
- 修改为以包引入的方式来启动工具+创建后端
- 修改了 stub 的业务逻辑代码
- 将所有的代码在生成前,使用 gofmt 进行格式化
- 缺点,需要重启项目后端项目才能生效
v1.0.0
- 单独的服务启动项目
Gosword 会在项目指定目录,释放一个完整的后台代码,包括前端、后端
重要
- 用来生成后端页面的数据表,要有 id,created_at,updated_at 三个必备字段
安装
go get -u github.com/sunshinev/go-sword
配置文件说明
项目需要一个配置文件,采用 yaml 格式,除了数据库的配置,主要包括释放的目录、工具端口、后台端口
db:
user: root
password: '123456'
database: test
host: localhost
port: 3306
root_path: admin22 # 后端项目释放的目录
tool_port: '8081' # go-sword 代码生成工具的端口
server_port: '8082' # 生成的后台项目的端口
GIN 框架中的应用
- 在 Gin 项目中的 main 函数中,开启工具,import 代码包
package main
import (
"log"
"github.com/app/admin22/sword"
"github.com/gin-gonic/gin"
gosword "github.com/sunshinev/go-sword"
)
func main() {
r := gin.Default()
r.GET("/ping", func(c *gin.Context) {
c.JSON(200, gin.H{
"message": "pong",
})
})
// 日志
log.SetFlags(log.Llongfile | log.Ldate)
// 1. 开启工具->根据 sql 生成项目
gosword.Init("config/go-sword.yaml").Run()
// 原始 gin 项目
_ = r.Run() // listen and serve on 0.0.0.0:8080 (for windows "localhost:8080")
}
使用gosword.Init加载配置文件,并且在项目中开启工具
gosword.Init("config/go-sword.yaml").Run()
- 后台创建成功后,加入
sword.Run,使用另外一个端口开启后端项目
func main() {
r := gin.Default()
r.GET("/ping", func(c *gin.Context) {
c.JSON(200, gin.H{
"message": "pong",
})
})
// 日志
log.SetFlags(log.Llongfile | log.Ldate)
// 1. 开启工具->根据 sql 生成项目
gosword.Init("config/go-sword.yaml").Run()
// 2. 加载生成的项目->重新启动
sword.Run("config/go-sword.yaml")
// 原始 gin 项目
_ = r.Run() // listen and serve on 0.0.0.0:8080 (for windows "localhost:8080")
}