-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.go
65 lines (53 loc) · 1.28 KB
/
main.go
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
package main
import (
"YOYU/backend/database"
"YOYU/backend/messagebox"
"YOYU/backend/middlewares"
"YOYU/backend/posts"
"YOYU/backend/users"
"YOYU/backend/wall"
"fmt"
"github.com/gin-gonic/gin"
"gorm.io/gorm"
)
func Migrate(db *gorm.DB) {
db.AutoMigrate(&users.User{})
db.AutoMigrate(&users.Follower{})
db.AutoMigrate(&wall.Wall{})
db.AutoMigrate(&messagebox.MessageBox{})
db.AutoMigrate(&posts.Post{})
db.AutoMigrate(&posts.Channel{})
}
func main() {
// 初始化Redis数据库
err := middlewares.InitRedis()
if err != nil {
//redis连接错误
panic(err)
}
fmt.Println("Redis连接成功")
// 初始化数据库
db := database.Init()
Migrate(db)
r := gin.Default()
// 防火墙中间件
r.Use(middlewares.RateMiddleware)
v1 := r.Group("/api")
// 用户模块
userG := v1.Group("/user")
userG.Use(middlewares.AuthMiddleware(false))
users.UsersRegister(userG)
userG.Use(middlewares.AuthMiddleware(true))
users.FollowsRegister(userG)
// 表白墙模块
wallG := v1.Group("/wall")
wallG.Use(middlewares.AuthMiddleware(true))
wall.WallRegister(wallG)
// 提问箱模块
v1.Use(middlewares.AuthMiddleware(true))
messagebox.MessageBoxRegister(v1)
// 帖子模块
v1.Use(middlewares.AuthMiddleware(true))
posts.PostRegister(v1)
r.Run("192.168.1.109:8080")
}