chore: code-check

This commit is contained in:
ryan
2026-08-28 13:42:49 +08:00
parent 9213ee79b3
commit 48211fa587
12 changed files with 289 additions and 41 deletions
+11
View File
@@ -7,6 +7,7 @@ package admin
import (
"context"
"embed"
"reflect"
"Wavelet/core"
"Wavelet/core/contracts"
@@ -40,6 +41,16 @@ func (p *Plugin) Name() string {
return "admin"
}
// Inject declares required dependencies for the admin domain plugin.
func (p *Plugin) Inject() []reflect.Type {
return []reflect.Type{
reflect.TypeFor[contracts.DBService](),
reflect.TypeFor[contracts.CacheService](),
reflect.TypeFor[contracts.UserService](),
reflect.TypeFor[contracts.AuthService](),
}
}
// Manifest returns the plugin metadata.
func (p *Plugin) Manifest() core.Manifest {
return core.Manifest{
+9
View File
@@ -7,6 +7,7 @@ package auth
import (
"context"
"embed"
"reflect"
"Wavelet/core"
"Wavelet/core/contracts"
@@ -55,6 +56,14 @@ func (p *Plugin) Name() string {
return "auth"
}
// Inject declares required dependencies for the auth domain plugin.
func (p *Plugin) Inject() []reflect.Type {
return []reflect.Type{
reflect.TypeFor[contracts.DBService](),
reflect.TypeFor[contracts.CacheService](),
}
}
// Manifest returns the plugin metadata.
func (p *Plugin) Manifest() core.Manifest {
return core.Manifest{
+11
View File
@@ -5,7 +5,10 @@
package cap
import (
"reflect"
"Wavelet/core"
"Wavelet/core/contracts"
"Wavelet/core/extpoints"
)
@@ -22,6 +25,14 @@ func (p *Plugin) Name() string {
return "cap"
}
// Inject declares required dependencies for the cap domain plugin.
func (p *Plugin) Inject() []reflect.Type {
return []reflect.Type{
reflect.TypeFor[contracts.DBService](),
reflect.TypeFor[contracts.CacheService](),
}
}
// Manifest returns the plugin metadata.
func (p *Plugin) Manifest() core.Manifest {
return core.Manifest{
@@ -5,6 +5,7 @@
package qq
import (
"Wavelet/pkg/util"
"context"
"fmt"
"strings"
@@ -13,6 +14,7 @@ import (
"Wavelet/pkg/logger"
"Wavelet/plugins/domain/message_gateway"
"github.com/tencent-connect/botgo"
"github.com/tencent-connect/botgo/dto"
"github.com/tencent-connect/botgo/event"
@@ -105,11 +107,11 @@ func (a *Adapter) Connect(ctx context.Context) error {
a.disconnected = false
a.mu.Unlock()
go func() {
util.Go(func() {
if err := botgo.NewSessionManager().Start(wsAP, tokSrc, &intent); err != nil {
logger.ErrorF(runCtx, "qq session stopped: %v", err)
}
}()
})
return nil
}
@@ -12,6 +12,7 @@ import (
"strconv"
"strings"
"Wavelet/pkg/util"
"Wavelet/plugins/domain/message_gateway"
tele "gopkg.in/telebot.v4"
)
@@ -65,11 +66,13 @@ func (a *Adapter) Connect(ctx context.Context) error {
a.handleTeleMessage(ctx, c.Message())
return nil
})
go bot.Start()
go func() {
util.Go(func() {
bot.Start()
})
util.Go(func() {
<-ctx.Done()
bot.Stop()
}()
})
return nil
}
@@ -7,10 +7,12 @@ package message_gateway
import (
"context"
"embed"
"reflect"
"Wavelet/core"
"Wavelet/core/contracts"
"Wavelet/core/extpoints"
"Wavelet/pkg/util"
"github.com/gin-gonic/gin"
"github.com/hibiken/asynq"
)
@@ -50,6 +52,13 @@ func (p *Plugin) Name() string {
return "message_gateway"
}
// Inject declares required dependencies for the message_gateway domain plugin.
func (p *Plugin) Inject() []reflect.Type {
return []reflect.Type{
reflect.TypeFor[contracts.DBService](),
}
}
// Manifest returns the plugin metadata.
func (p *Plugin) Manifest() core.Manifest {
return core.Manifest{
@@ -199,9 +208,9 @@ func (p *Plugin) Apply(ctx *core.Context) error {
if p.autoStartRunner {
runnerCtx, cancel := context.WithCancel(ctx.GoContext())
p.cancelRunner = cancel
go func() {
util.Go(func() {
_ = Start(runnerCtx)
}()
})
}
ctx.OnDispose(func() error {
@@ -7,8 +7,10 @@ package risk_control
import (
"context"
"embed"
"reflect"
"Wavelet/core"
"Wavelet/core/contracts"
"Wavelet/core/extpoints"
"github.com/gin-gonic/gin"
)
@@ -47,6 +49,14 @@ func (p *Plugin) Name() string {
return "risk_control"
}
// Inject declares required dependencies for the risk_control domain plugin.
func (p *Plugin) Inject() []reflect.Type {
return []reflect.Type{
reflect.TypeFor[contracts.DBService](),
reflect.TypeFor[contracts.CacheService](),
}
}
// Manifest returns the plugin metadata.
func (p *Plugin) Manifest() core.Manifest {
return core.Manifest{
+12 -2
View File
@@ -6,11 +6,12 @@ package system
import (
"net/http"
"reflect"
"Wavelet/core"
"Wavelet/core/contracts"
"Wavelet/pkg/config"
"Wavelet/pkg/response"
database "Wavelet/plugins/infra/database"
"github.com/gin-gonic/gin"
)
@@ -27,6 +28,13 @@ func (p *Plugin) Name() string {
return "system"
}
// Inject declares required dependencies for the system domain plugin.
func (p *Plugin) Inject() []reflect.Type {
return []reflect.Type{
reflect.TypeFor[contracts.DBService](),
}
}
// Manifest returns the plugin metadata.
func (p *Plugin) Manifest() core.Manifest {
return core.Manifest{
@@ -54,7 +62,9 @@ func (p *Plugin) Apply(ctx *core.Context) error {
Value string `json:"value"`
}
var configs []configItem
_ = database.DB(c.Request.Context()).Table("w_system_configs").Where("visibility = ?", "visible").Find(&configs).Error
if dbSvc := ctx.DB(); dbSvc != nil {
_ = dbSvc.DB(c.Request.Context()).Table("w_system_configs").Where("visibility = ?", "visible").Find(&configs).Error
}
c.JSON(http.StatusOK, response.OK(gin.H{
"configs": configs,
"app": gin.H{
+10
View File
@@ -7,6 +7,7 @@ package upload
import (
"context"
"embed"
"reflect"
"Wavelet/core"
"Wavelet/core/contracts"
@@ -34,6 +35,15 @@ func (p *Plugin) Name() string {
return "upload"
}
// Inject declares required dependencies for the upload domain plugin.
func (p *Plugin) Inject() []reflect.Type {
return []reflect.Type{
reflect.TypeFor[contracts.DBService](),
reflect.TypeFor[contracts.StorageService](),
reflect.TypeFor[contracts.AuthService](),
}
}
// Manifest returns the plugin metadata.
func (p *Plugin) Manifest() core.Manifest {
return core.Manifest{
@@ -18,8 +18,6 @@ import (
"Wavelet/pkg/config"
"Wavelet/pkg/trace"
"Wavelet/pkg/util"
"Wavelet/plugins/domain/auth"
"Wavelet/plugins/domain/risk_control"
"github.com/gin-contrib/sessions"
"github.com/gin-contrib/sessions/redis"
"github.com/gin-gonic/gin"
@@ -65,12 +63,19 @@ func BuildEngine() (*gin.Engine, error) {
}
}
sessionStore.Options(auth.GetSessionOptions(config.Config.App.SessionAge))
sessionStore.Options(sessions.Options{
Path: "/",
Domain: config.Config.App.SessionDomain,
MaxAge: config.Config.App.SessionAge,
HttpOnly: config.Config.App.SessionHTTPOnly,
Secure: config.Config.App.SessionSecure,
SameSite: http.SameSiteLaxMode,
})
r.Use(sessions.Sessions(config.Config.App.SessionCookieName, sessionStore))
// 补充中间件
r.Use(otelgin.Middleware(config.Config.App.AppName), errorHandlerMiddleware(), loggerMiddleware(), risk_control.Middleware())
r.Use(otelgin.Middleware(config.Config.App.AppName), errorHandlerMiddleware(), loggerMiddleware())
return r, nil
}