plugin.go 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. package initialize
  2. import (
  3. "github.com/flipped-aurora/gin-vue-admin/server/global"
  4. "github.com/flipped-aurora/gin-vue-admin/server/plugin/notify"
  5. //email "github.com/flipped-aurora/gva-plug-email" // 在线仓库模式
  6. "github.com/flipped-aurora/gin-vue-admin/server/plugin/email" // 本地插件仓库地址模式
  7. "github.com/flipped-aurora/gin-vue-admin/server/plugin/example_plugin"
  8. "github.com/flipped-aurora/gin-vue-admin/server/utils/plugin"
  9. "github.com/gin-gonic/gin"
  10. )
  11. func PluginInit(group *gin.RouterGroup, Plugin ...plugin.Plugin) {
  12. for i := range Plugin {
  13. PluginGroup := group.Group(Plugin[i].RouterPath())
  14. Plugin[i].Register(PluginGroup)
  15. }
  16. }
  17. func InstallPlugin(PublicGroup *gin.RouterGroup, PrivateGroup *gin.RouterGroup) {
  18. // 添加开放权限的插件 示例
  19. PluginInit(PublicGroup, example_plugin.ExamplePlugin)
  20. // 添加跟角色挂钩权限的插件 示例 本地示例模式于在线仓库模式注意上方的import 可以自行切换 效果相同
  21. PluginInit(PrivateGroup, email.CreateEmailPlug(
  22. global.GVA_CONFIG.Email.To,
  23. global.GVA_CONFIG.Email.From,
  24. global.GVA_CONFIG.Email.Host,
  25. global.GVA_CONFIG.Email.Secret,
  26. global.GVA_CONFIG.Email.Nickname,
  27. global.GVA_CONFIG.Email.Port,
  28. global.GVA_CONFIG.Email.IsSSL,
  29. ))
  30. // 钉钉通知,暂时开放权限
  31. PluginInit(PublicGroup, notify.CreateDDPlug(
  32. "https://oapi.dingtalk.com/robot/send",
  33. "8ded23f91917dc4f6275f44ba5ef243e6ed1d2cc74de83f01a6f5f5f39905671",
  34. "SECaecf452bd6e671ab0d47469c3ad933e32fcc47b335333049a1b8961606192f38"))
  35. }