少女祈祷中...

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

image-20230906111019530

设置编译输出路径

image-20230906111115338

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
}
}

效果

image-20230906112720762

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("数据库连接失败")
}
// 同步 User 表结构
err = engine.Sync(new(User))
if err != nil {
fmt.Println("表结构同步失败", err)
fmt.Println("dataSourceName", dataSourceName)
}
}

效果图

image-20230906113701564

0x03 使用Vue3+Ts语法做前端

1
vue create gowebvuets

选择Manully select features

我的选择

image-20230906114143852

继续

3.x -> N -> Y -> Y -> ESLint with error prevention only -> Lint on save -> In dedicated config files -> N

配置代码检测,美化插件

使用·Ctrl+Alt+L如果校验以后还是有报错需到Settings -> prettier 里添加文件后缀

Share Comments