File tree Expand file tree Collapse file tree 3 files changed +36
-17
lines changed Expand file tree Collapse file tree 3 files changed +36
-17
lines changed Original file line number Diff line number Diff line change
1
+ package core
2
+
3
+ import (
4
+ "fmt"
5
+ "gin-vue-admin/global"
6
+ "gin-vue-admin/initialize"
7
+ "gin-vue-admin/middleware"
8
+ "github.com/gin-gonic/gin"
9
+ "github.com/piexlmax/gvaplug"
10
+ )
11
+
12
+ func InstallPlugs (route * gin.Engine ) {
13
+ GvaPlugsGroupBase := route .Group ("" ) // 纯净路由 插件可通用 传递给插件的0号位置 为了不让插件的自动路由出问题 这里建议为 ""
14
+ /**安装一个插件需要的步骤 start**/
15
+ GvaPlugsGroupMiddle := route .Group ("" ) // 携带中间件的路由 传递给插件的1号位置 为了不让插件的自动路由出问题 这里建议为 ""
16
+ GvaPlugsGroupMiddle .Use (middleware .JWTAuth ()).Use (middleware .CasbinHandler ())
17
+ // 插件安装 暂时只是后台功能 添加model 添加路由 添加对数据库的操作 详细插件测试模板可看https://github.com/piexlmax/gvaplug 此处不建议投入生产
18
+ err := initialize .InstallPlug (global .GVA_DB , [2 ]* gin.RouterGroup {
19
+ GvaPlugsGroupBase ,
20
+ GvaPlugsGroupMiddle ,
21
+ }, gvaplug.GvaPlug {SomeConfig : "插件给用户提供的配置区域" })
22
+ if err != nil {
23
+ panic (fmt .Sprintf ("插件安装失败: %v" , err ))
24
+ }
25
+ /**安装一个插件需要的步骤 end**/
26
+ }
Original file line number Diff line number Diff line change 4
4
"fmt"
5
5
"gin-vue-admin/global"
6
6
"gin-vue-admin/initialize"
7
- "github.com/piexlmax/gvaplug"
8
7
"net/http"
9
8
"time"
10
9
)
@@ -17,11 +16,7 @@ func RunWindowsServer() {
17
16
Router := initialize .Routers ()
18
17
Router .Static ("/form-generator" , "./resource/page" )
19
18
20
- // 插件安装 暂时只是后台功能 添加model 添加路由 添加对数据库的操作 详细插件测试模板可看https://github.com/piexlmax/gvaplug 此处不建议投入生产
21
- err := initialize .InstallPlug (global .GVA_DB , Router , gvaplug.GvaPlug {})
22
- if err != nil {
23
- panic (fmt .Sprintf ("插件安装失败: %v" , err ))
24
- }
19
+ InstallPlugs (Router )
25
20
// end 插件描述
26
21
27
22
address := fmt .Sprintf (":%d" , global .GVA_CONFIG .System .Addr )
Original file line number Diff line number Diff line change @@ -6,20 +6,18 @@ import (
6
6
)
7
7
8
8
type Plug interface {
9
- InitRouter (* gin.Engine ) error
9
+ InitRouter ([ 2 ] * gin.RouterGroup ) error
10
10
InitModel (* gorm.DB ) error
11
11
}
12
12
13
- func InstallPlug (db * gorm.DB , router * gin.Engine , p ... Plug ) (err error ) {
14
- for _ , v := range p {
15
- err = v .InitModel (db )
16
- if err != nil {
17
- return err
18
- }
19
- err = v .InitRouter (router )
20
- if err != nil {
21
- return err
22
- }
13
+ func InstallPlug (db * gorm.DB , router [2 ]* gin.RouterGroup , p Plug ) (err error ) {
14
+ err = p .InitModel (db )
15
+ if err != nil {
16
+ return err
17
+ }
18
+ err = p .InitRouter (router )
19
+ if err != nil {
20
+ return err
23
21
}
24
22
return nil
25
23
}
You can’t perform that action at this time.
0 commit comments