-
Notifications
You must be signed in to change notification settings - Fork 1
/
plugin.go
32 lines (27 loc) · 973 Bytes
/
plugin.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
package initialize
import (
"fmt"
"github.com/gin-gonic/gin"
"github.com/twelvet-s/gins/framework/global"
"github.com/twelvet-s/gins/framework/utils/plugin"
"github.com/twelvet-s/gins/plugin/gorm"
"github.com/twelvet-s/gins/plugin/redis"
)
// PluginInit 进行初始化
func PluginInit(group *gin.RouterGroup, plugins ...plugin.Plugin) {
for _, pluginItem := range plugins {
pluginGroup := group.Group(pluginItem.RouterPath())
pluginItem.Register(pluginGroup)
}
}
// InstallPlugin 安装插件
func InstallPlugin(router *gin.Engine) {
publicGroup := router.Group(global.CONFIG.Server.RouterPrefix)
fmt.Println("无鉴权插件安装==》", publicGroup)
privateGroup := router.Group(global.CONFIG.Server.RouterPrefix)
fmt.Println("鉴权插件安装==》", privateGroup)
// 加载Gorm
PluginInit(privateGroup, gorm.CreateGormPlug(&global.CONFIG.Gins.Gorm))
// 加载Redis
PluginInit(privateGroup, redis.CreateRedisPlug(&global.CONFIG.Gins.Redis))
}