diff --git a/server/go.mod b/server/go.mod index 055161d9..3b15d01b 100644 --- a/server/go.mod +++ b/server/go.mod @@ -3,56 +3,33 @@ module github.com/flipped-aurora/gin-vue-admin/server go 1.16 require ( - github.com/StackExchange/wmi v0.0.0-20190523213315-cbe66965904d // indirect github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751 github.com/aliyun/aliyun-oss-go-sdk v2.1.6+incompatible - github.com/baiyubin/aliyun-sts-go-sdk v0.0.0-20180326062324-cfa1a18b161f // indirect github.com/casbin/casbin/v2 v2.11.0 github.com/casbin/gorm-adapter/v3 v3.0.2 github.com/dgrijalva/jwt-go v3.2.0+incompatible - github.com/fastly/go-utils v0.0.0-20180712184237-d95a45783239 // indirect + github.com/flipped-aurora/gva-plug-email v0.0.0-20210823152517-a061eeea2d16 github.com/fsnotify/fsnotify v1.4.9 github.com/fvbock/endless v0.0.0-20170109170031-447134032cb6 github.com/gin-gonic/gin v1.6.3 - github.com/go-ole/go-ole v1.2.4 // indirect - github.com/go-openapi/jsonreference v0.19.6 // indirect - github.com/go-openapi/spec v0.20.3 // indirect - github.com/go-openapi/swag v0.19.15 // indirect - github.com/go-playground/validator/v10 v10.3.0 // indirect github.com/go-redis/redis/v8 v8.11.0 github.com/go-sql-driver/mysql v1.5.0 github.com/gookit/color v1.3.1 - github.com/jehiah/go-strftime v0.0.0-20171201141054-1d33003b3869 // indirect github.com/jordan-wright/email v0.0.0-20200824153738-3f5bafa1cd84 - github.com/json-iterator/go v1.1.10 // indirect github.com/lestrrat-go/file-rotatelogs v2.3.0+incompatible - github.com/lestrrat-go/strftime v1.0.3 // indirect - github.com/mailru/easyjson v0.7.7 // indirect - github.com/mitchellh/mapstructure v1.2.2 // indirect github.com/mojocn/base64Captcha v1.3.1 - github.com/pelletier/go-toml v1.6.0 // indirect - github.com/pkg/errors v0.9.1 // indirect github.com/qiniu/api.v7/v7 v7.4.1 github.com/robfig/cron/v3 v3.0.1 github.com/satori/go.uuid v1.2.0 github.com/shirou/gopsutil v3.21.1+incompatible - github.com/spf13/afero v1.2.2 // indirect - github.com/spf13/cast v1.3.1 // indirect - github.com/spf13/jwalterweatherman v1.1.0 // indirect - github.com/spf13/pflag v1.0.5 // indirect github.com/spf13/viper v1.7.0 github.com/swaggo/gin-swagger v1.3.0 github.com/swaggo/swag v1.7.0 - github.com/tebeka/strftime v0.1.3 // indirect github.com/tencentyun/cos-go-sdk-v5 v0.7.19 github.com/unrolled/secure v1.0.7 github.com/xuri/excelize/v2 v2.4.1 go.uber.org/zap v1.10.0 golang.org/x/sync v0.0.0-20210220032951-036812b2e83c - golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c // indirect - golang.org/x/tools v0.1.5 // indirect - google.golang.org/protobuf v1.24.0 // indirect - gopkg.in/ini.v1 v1.55.0 // indirect gorm.io/driver/mysql v1.0.1 gorm.io/gorm v1.20.7 ) diff --git a/server/initialize/plugin.go b/server/initialize/plugin.go index 29019bb4..02f6f1b9 100644 --- a/server/initialize/plugin.go +++ b/server/initialize/plugin.go @@ -1,6 +1,10 @@ package initialize import ( + "github.com/flipped-aurora/gin-vue-admin/server/global" + //email "github.com/flipped-aurora/gva-plug-email" // 在线仓库模式 + "github.com/flipped-aurora/gin-vue-admin/server/plugin/email" // 本地插件仓库地址模式 + "github.com/flipped-aurora/gin-vue-admin/server/plugin/example_plugin" "github.com/flipped-aurora/gin-vue-admin/server/utils/plugin" "github.com/gin-gonic/gin" ) @@ -11,3 +15,19 @@ func PluginInit(group *gin.RouterGroup, Plugin ...plugin.Plugin) { Plugin[i].Register(PluginGroup) } } + +func InstallPlugin(PublicGroup *gin.RouterGroup, PrivateGroup *gin.RouterGroup) { + // 添加开放权限的插件 示例 + PluginInit(PublicGroup, example_plugin.ExamplePlugin) + + // 添加跟角色挂钩权限的插件 示例 本地示例模式于在线仓库模式注意上方的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, + )) +} diff --git a/server/initialize/router.go b/server/initialize/router.go index 0dcb61e8..9b46aa33 100644 --- a/server/initialize/router.go +++ b/server/initialize/router.go @@ -1,9 +1,6 @@ package initialize import ( - //email "github.com/flipped-aurora/gva-plug-email" // 在线仓库模式 - "github.com/flipped-aurora/gin-vue-admin/server/plugin/email" // 本地插件仓库地址模式 - "github.com/flipped-aurora/gin-vue-admin/server/plugin/example_plugin" "net/http" _ "github.com/flipped-aurora/gin-vue-admin/server/docs" @@ -62,19 +59,7 @@ func Routers() *gin.Engine { // Code generated by github.com/flipped-aurora/gin-vue-admin/server End; DO NOT EDIT. } - // 添加开放权限的插件 示例 - PluginInit(PublicGroup, example_plugin.ExamplePlugin) - - // 添加跟角色挂钩权限的插件 示例 本地示例模式于在线仓库模式注意上方的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, - )) + InstallPlugin(PublicGroup, PrivateGroup) // 安装插件 global.GVA_LOG.Info("router register success") return Router diff --git a/server/plugin/email/main.go b/server/plugin/email/main.go index c36b3efc..e044797a 100644 --- a/server/plugin/email/main.go +++ b/server/plugin/email/main.go @@ -7,13 +7,6 @@ import ( ) type emailPlugin struct { - To string - From string - Host string - Secret string - Nickname string - Port int - IsSsl bool } func CreateEmailPlug(To, From, Host, Secret, Nickname string, Port int, IsSSL bool) *emailPlugin { @@ -25,7 +18,6 @@ func CreateEmailPlug(To, From, Host, Secret, Nickname string, Port int, IsSSL bo global.GlobalConfig.Port = Port global.GlobalConfig.IsSSL = IsSSL return &emailPlugin{} - } func (*emailPlugin) Register(group *gin.RouterGroup) {