zhangqian
2023-08-29 6843bdb44b8d5294a21f2ee30886e0c5ad07a150
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
package initialize
 
import (
    "fmt"
 
    "github.com/gin-gonic/gin"
    "srm/global"
    "srm/middleware"
    "srm/plugin/email"
    "srm/utils/plugin"
)
 
func PluginInit(group *gin.RouterGroup, Plugin ...plugin.Plugin) {
    for i := range Plugin {
        PluginGroup := group.Group(Plugin[i].RouterPath())
        Plugin[i].Register(PluginGroup)
    }
}
 
func InstallPlugin(Router *gin.Engine) {
    PublicGroup := Router.Group("")
    fmt.Println("无鉴权插件安装==》", PublicGroup)
    PrivateGroup := Router.Group("")
    fmt.Println("鉴权插件安装==》", PrivateGroup)
    PrivateGroup.Use(middleware.JWTAuth()).Use(middleware.CasbinHandler())
    //  添加跟角色挂钩权限的插件 示例 本地示例模式于在线仓库模式注意上方的import 可以自行切换 效果相同
    PluginInit(PrivateGroup, email.CreateEmailPlug(
        global.GVA_CONFIG.Email.To,
        global.GVA_CONFIG.Email.From,
        global.GVA_CONFIG.Email.Host,
        global.GVA_CONFIG.Email.Secret,
        global.GVA_CONFIG.Email.Nickname,
        global.GVA_CONFIG.Email.Port,
        global.GVA_CONFIG.Email.IsSSL,
    ))
}