02.初始化项目结构
# 01.项目结构展示
# 1.1 项目结构
# 1.2 新建项目
C:\aaa> bee new beegosc
C:\aaa> cd beegosc
C:\aaa\beegodemo02> go mod init beegosc
C:\aaa\beegodemo02> go env -w GO111MODULE=auto
C:\aaa\beegodemo02> go build -mod=mod
C:\aaa\beegodemo02> bee run
1
2
3
4
5
6
2
3
4
5
6
- 依赖更新
go mod tidy # 更新依赖文件
go mod download # 下载依赖文件
go mod vendor # 将依赖转移至本地的vendor文件
1
2
3
2
3
# 02.后台管理模块
# 2.0 模块文件梳理
# 2.1 定义控制器
controllers/admin/login.go
package admin
import (
"github.com/astaxie/beego"
)
type LoginController struct {
beego.Controller
}
func (c *LoginController) Get() {
c.Ctx.WriteString("后台管理系统登录页面")
//c.TplName = "admin/login/login.html"
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
# 2.2 定义路由中间件
routers/adminRouter.go
https://beego.me/docs/mvc/controller/filter.md
https://beego.me/docs/mvc/controller/router.md
package routers
import (
"beegosc/controllers/admin"
"fmt"
"github.com/astaxie/beego"
"github.com/astaxie/beego/context"
)
func init() {
ns :=
beego.NewNamespace("/admin",
//中间件:匹配路由前会执,可以用于权限验证
//注意引入的包: github.com/astaxie/beego/context
beego.NSBefore(func(ctx *context.Context) {
fmt.Println("我是一个中间件,匹配路由之前执行")
}),
beego.NSRouter("/login", &admin.LoginController{}),
)
//注册 namespace
beego.AddNamespace(ns)
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# 2.3 测试访问
http://127.0.0.1:8000/admin/login
上次更新: 2024/3/13 15:35:10