plugin.go 1.0 KB

123456789101112131415161718192021222324252627282930313233343536
  1. package initialize
  2. import (
  3. "fmt"
  4. "github.com/gin-gonic/gin"
  5. "server/global"
  6. "server/middleware"
  7. "server/plugin/email"
  8. "server/utils/plugin"
  9. )
  10. func PluginInit(group *gin.RouterGroup, Plugin ...plugin.Plugin) {
  11. for i := range Plugin {
  12. PluginGroup := group.Group(Plugin[i].RouterPath())
  13. Plugin[i].Register(PluginGroup)
  14. }
  15. }
  16. func InstallPlugin(Router *gin.Engine) {
  17. PublicGroup := Router.Group("")
  18. fmt.Println("无鉴权插件安装==》", PublicGroup)
  19. PrivateGroup := Router.Group("")
  20. fmt.Println("鉴权插件安装==》", PrivateGroup)
  21. PrivateGroup.Use(middleware.JWTAuth()).Use(middleware.CasbinHandler())
  22. // 添加跟角色挂钩权限的插件 示例 本地示例模式于在线仓库模式注意上方的import 可以自行切换 效果相同
  23. PluginInit(PrivateGroup, email.CreateEmailPlug(
  24. global.GVA_CONFIG.Email.To,
  25. global.GVA_CONFIG.Email.From,
  26. global.GVA_CONFIG.Email.Host,
  27. global.GVA_CONFIG.Email.Secret,
  28. global.GVA_CONFIG.Email.Nickname,
  29. global.GVA_CONFIG.Email.Port,
  30. global.GVA_CONFIG.Email.IsSSL,
  31. ))
  32. }