add:monitor-plugin-package

This commit is contained in:
SysProChan 2025-04-14 20:36:22 +08:00
parent 3bd6aeb8f2
commit 6edeeb6894
13 changed files with 146 additions and 0 deletions

View File

@ -2,6 +2,7 @@ package initialize
import (
"github.com/flipped-aurora/gin-vue-admin/server/plugin/announcement"
"github.com/flipped-aurora/gin-vue-admin/server/plugin/monitor"
"github.com/flipped-aurora/gin-vue-admin/server/utils/plugin/v2"
"github.com/gin-gonic/gin"
)
@ -13,4 +14,5 @@ func PluginInitV2(group *gin.Engine, plugins ...plugin.Plugin) {
}
func bizPluginV2(engine *gin.Engine) {
PluginInitV2(engine, announcement.Plugin)
PluginInitV2(engine, monitor.Plugin)
}

View File

@ -0,0 +1,6 @@
package api
var Api = new(api)
type api struct {
}

View File

@ -0,0 +1,4 @@
package config
type Config struct {
}

View File

@ -0,0 +1,18 @@
package main
import (
"gorm.io/gen"
"path/filepath"
)
//go:generate go mod tidy
//go:generate go mod download
//go:generate go run gen.go
func main() {
g := gen.NewGenerator(gen.Config{
OutPath: filepath.Join("..", "..", "..", "monitor", "blender", "model", "dao"),
Mode: gen.WithoutContext | gen.WithDefaultQuery | gen.WithQueryInterface,
})
g.ApplyBasic()
g.Execute()
}

View File

@ -0,0 +1,12 @@
package initialize
import (
"context"
model "github.com/flipped-aurora/gin-vue-admin/server/model/system"
"github.com/flipped-aurora/gin-vue-admin/server/plugin/plugin-tool/utils"
)
func Api(ctx context.Context) {
entities := []model.SysApi{}
utils.RegisterApis(entities...)
}

View File

@ -0,0 +1,17 @@
package initialize
import (
"context"
"fmt"
"github.com/flipped-aurora/gin-vue-admin/server/global"
"github.com/pkg/errors"
"go.uber.org/zap"
)
func Gorm(ctx context.Context) {
err := global.GVA_DB.WithContext(ctx).AutoMigrate()
if err != nil {
err = errors.Wrap(err, "注册表失败!")
zap.L().Error(fmt.Sprintf("%+v", err))
}
}

View File

@ -0,0 +1,12 @@
package initialize
import (
"context"
model "github.com/flipped-aurora/gin-vue-admin/server/model/system"
"github.com/flipped-aurora/gin-vue-admin/server/plugin/plugin-tool/utils"
)
func Menu(ctx context.Context) {
entities := []model.SysBaseMenu{}
utils.RegisterMenus(entities...)
}

View File

@ -0,0 +1,14 @@
package initialize
import (
"github.com/flipped-aurora/gin-vue-admin/server/global"
"github.com/flipped-aurora/gin-vue-admin/server/middleware"
"github.com/gin-gonic/gin"
)
func Router(engine *gin.Engine) {
public := engine.Group(global.GVA_CONFIG.System.RouterPrefix).Group("")
public.Use()
private := engine.Group(global.GVA_CONFIG.System.RouterPrefix).Group("")
private.Use(middleware.JWTAuth()).Use(middleware.CasbinHandler())
}

View File

@ -0,0 +1,17 @@
package initialize
import (
"fmt"
"github.com/flipped-aurora/gin-vue-admin/server/global"
"github.com/flipped-aurora/gin-vue-admin/server/plugin/monitor/plugin"
"github.com/pkg/errors"
"go.uber.org/zap"
)
func Viper() {
err := global.GVA_VP.UnmarshalKey("monitor", &plugin.Config)
if err != nil {
err = errors.Wrap(err, "初始化配置文件失败!")
zap.L().Error(fmt.Sprintf("%+v", err))
}
}

View File

@ -0,0 +1,26 @@
package monitor
import (
"context"
"github.com/flipped-aurora/gin-vue-admin/server/plugin/monitor/initialize"
interfaces "github.com/flipped-aurora/gin-vue-admin/server/utils/plugin/v2"
"github.com/gin-gonic/gin"
)
var _ interfaces.Plugin = (*plugin)(nil)
var Plugin = new(plugin)
type plugin struct{}
// 如果需要配置文件请到config.Config中填充配置结构且到下方发放中填入其在config.yaml中的key并添加如下方法
// initialize.Viper()
// 安装插件时候自动注册的api数据请到下方法.Api方法中实现并添加如下方法
// initialize.Api(ctx)
// 安装插件时候自动注册的api数据请到下方法.Menu方法中实现并添加如下方法
// initialize.Menu(ctx)
func (p *plugin) Register(group *gin.Engine) {
ctx := context.Background()
initialize.Gorm(ctx)
initialize.Router(group)
}

View File

@ -0,0 +1,5 @@
package plugin
import "github.com/flipped-aurora/gin-vue-admin/server/plugin/monitor/config"
var Config config.Config

View File

@ -0,0 +1,6 @@
package router
var Router = new(router)
type router struct {
}

View File

@ -0,0 +1,7 @@
package service
var Service = new(service)
type service struct {
}