GoWeb初始化
0x00 介绍
- 使用gin框架构建Web服务
- 使用XORM连接数据库
- 使用Vue3+Ts语法做前端
0x01 使用gin框架构建Web服务
创建项目文件夹,初始化项目
1 2 3 4 5
| mkdir GoWeb cd GoWeb mkdir bin touch main.go go mod init {GoWeb}
|
创建好之后可以使用编辑器打开根据自己喜好即可,本人使用IDEA

设置编译输出路径

gin框架安装
1
| go get -u github.com/gin-gonic/gin
|
代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| package main
import ( "github.com/gin-gonic/gin" "net/http" )
func main() { Server := gin.Default() Server.GET("/", func(context *gin.Context) { context.JSON(http.StatusOK, gin.H{"msg": "Hello,World"}) }) err := Server.Run(":8080") if err != nil { return } }
|
效果

0x02 使用XORM连接数据库
https://gitea.com/xorm/xorm/src/branch/master/README_CN.md
安装
1 2
| go get xorm.io/xorm go get github.com/go-sql-driver/mysql
|
代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
| package main
import ( "fmt" _ "github.com/go-sql-driver/mysql" "time" "xorm.io/xorm" )
type User struct { Id int64 Name string Passwd string `xorm:"varchar(200)"` Created time.Time `xorm:"created"` Updated time.Time `xorm:"updated"` }
func main() { var ( userName string = "root" password string = "123456" ipAddress string = "localhost" port int = 3306 dbName string = "RunCtf" charset string = "utf8mb4" dataSourceName = fmt.Sprintf("%s:%s@tcp(%s:%d)/%s?charset=%s", userName, password, ipAddress, port, dbName, charset) engine, _ = xorm.NewEngine("mysql", dataSourceName) ) engine, err := xorm.NewEngine("mysql", dataSourceName) if err != nil { fmt.Println("数据库连接失败") } err = engine.Sync(new(User)) if err != nil { fmt.Println("表结构同步失败", err) fmt.Println("dataSourceName", dataSourceName) } }
|
效果图

0x03 使用Vue3+Ts语法做前端
选择Manully select features
我的选择

继续
3.x -> N -> Y -> Y -> ESLint with error prevention only -> Lint on save -> In dedicated config files -> N
配置代码检测,美化插件
使用·Ctrl+Alt+L如果校验以后还是有报错需到Settings -> prettier 里添加文件后缀