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 ![]() 纯英文页面下面放个 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 dr1q65MfKFKHnJr6 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 吧,下面三个超链居然还是假的』 有空多学习,少扯皮 |