Go-sword(利刃) V2.0.0
一款基于 Go 语言的可视化 web 管理后台生成工具包 根据 MySQL 的表结构,创建 CRUD 的管理后台界面,开发者无需再重复手动的创建具有 CRUD 能力的页面,只需要点击按钮即可生成完整的管理后台
官网 https://sunshinev.github.io/go-sword-home/
官方文档更新可能不及时,请以 GIT README.md 为准
v2.0.0
v1.0.0
Gosword 会在项目指定目录,释放一个完整的后台代码,包括前端、后端
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' # 生成的后台项目的端口
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")
}
1
duuu 2021-07-20 18:18:09 +08:00
demo 挂了
|
2
efaun 2021-07-20 19:05:08 +08:00 1
纯英文页面下面放个 QQ 群好违和,至少弄个 Twitter 吧,下面三个超链居然还是假的
|
4
ca1123 2021-07-20 22:43:40 +08:00
对了, 其它 SQL 数据库呢, 可以搞么?
|
5
ca1123 2021-07-20 22:46:20 +08:00
还有, 你这东西就是相当于一个 web 的 dbvisualizer 么?
|
6
kwanzaa 2021-07-21 00:07:26 +08:00
demo 502
|
7
cedoo22 2021-07-21 09:20:00 +08:00
就文档来说,感觉版本不像 2.0, 像是 0.2
|
8
airplayxcom 2021-07-21 10:39:35 +08:00
40MB ?
|
9
sunshinev OP 作者想说的话
Go-sword 其实提供了一种模式,这种模式借鉴于 Yii 框架的 GII 工具。在 GII 模式的基础上,与 VUE+iview2.0 进行融合,进而产出了 Go-sword 项目。 Go-sword 内部的代码包括前端、后端并非最优解,正如前面所说的,它本身提供了一种快速便捷的开发方式,如果开发者觉得这种模式有利于项目效率,可以 Fork 该项目,修改 stub 文件来满足自己的项目架构 回复几个问题: 1. 『还有, 你这东西就是相当于一个 web 的 dbvisualizer 么?』 他本身提供了快速创建 CRUD 的能力,因为 CURD 是大部分后台所常用的功能。 我们在使用的时候,需要进行思维发散,也就是说页面生成了,但是接口是可以写自定义业务逻辑的,也就是说相同的 LIST 列表接口,我可以读取其他依赖服务,或者组合其他数据,输出到列表页进行展示。 而数据的展示方式也不止 LIST 列表这一种模式,前端页面使用 iview 框架,所以 iview 的组件都可以移植到页面中使用 2. DEMO 挂了 已经重新上线了 3. 『纯英文页面下面放个 QQ 群好违和,至少弄个 Twitter 吧,下面三个超链居然还是假的』 有空多学习,少扯皮 |