This commit is contained in:
hero920103 committed 2026-10-19 01:13:17 +08:00
1 parent 5718a00e31
commit 1850ac640e
226 files changed
+37772 -12071

No files matched your search

+20 -25
View File
@@ -9,6 +9,7 @@ import (
"time"
"server/models"
"server/pkg/identity"
"server/pkg/jwtutil"
"server/services"
@@ -21,22 +22,7 @@ type BackendMcpServerController struct {
}
func (c *BackendMcpServerController) mcpSrvClaims() (*jwtutil.Claims, error) {
auth := c.Ctx.Request.Header.Get("Authorization")
if auth == "" {
return nil, fmt.Errorf("未登录")
}
parts := strings.SplitN(auth, " ", 2)
if len(parts) != 2 || parts[0] != "Bearer" {
return nil, fmt.Errorf("认证信息格式错误")
}
claims, err := jwtutil.ParseToken(parts[1])
if err != nil {
return nil, fmt.Errorf("无效的token")
}
if claims.UserType != "backend" {
return nil, fmt.Errorf("无权访问")
}
return claims, nil
return identity.Claims(c.Ctx.Request.Header.Get("Authorization"), identity.EndBackend)
}
func (c *BackendMcpServerController) mcpSrvErr(httpStatus, bizCode int, msg string) {
@@ -113,7 +99,8 @@ func (p *mcpServerPayload) toModel(claims *jwtutil.Claims) models.BackendMcpServ
func (c *BackendMcpServerController) List() {
claims, err := c.mcpSrvClaims()
if err != nil {
c.mcpSrvErr(401, 401, err.Error())
code := identity.Status(err)
c.mcpSrvErr(code, code, err.Error())
return
}
var list []models.BackendMcpServer
@@ -134,7 +121,8 @@ func (c *BackendMcpServerController) List() {
func (c *BackendMcpServerController) Create() {
claims, err := c.mcpSrvClaims()
if err != nil {
c.mcpSrvErr(401, 401, err.Error())
code := identity.Status(err)
c.mcpSrvErr(code, code, err.Error())
return
}
body, err := io.ReadAll(c.Ctx.Request.Body)
@@ -164,7 +152,8 @@ func (c *BackendMcpServerController) Create() {
func (c *BackendMcpServerController) Update() {
claims, err := c.mcpSrvClaims()
if err != nil {
c.mcpSrvErr(401, 401, err.Error())
code := identity.Status(err)
c.mcpSrvErr(code, code, err.Error())
return
}
idStr := c.Ctx.Input.Param(":id")
@@ -225,7 +214,8 @@ func (c *BackendMcpServerController) Update() {
func (c *BackendMcpServerController) Delete() {
claims, err := c.mcpSrvClaims()
if err != nil {
c.mcpSrvErr(401, 401, err.Error())
code := identity.Status(err)
c.mcpSrvErr(code, code, err.Error())
return
}
idStr := c.Ctx.Input.Param(":id")
@@ -257,7 +247,8 @@ func (c *BackendMcpServerController) Delete() {
func (c *BackendMcpServerController) Toggle() {
claims, err := c.mcpSrvClaims()
if err != nil {
c.mcpSrvErr(401, 401, err.Error())
code := identity.Status(err)
c.mcpSrvErr(code, code, err.Error())
return
}
idStr := c.Ctx.Input.Param(":id")
@@ -306,7 +297,8 @@ func (c *BackendMcpServerController) Toggle() {
func (c *BackendMcpServerController) Test() {
claims, err := c.mcpSrvClaims()
if err != nil {
c.mcpSrvErr(401, 401, err.Error())
code := identity.Status(err)
c.mcpSrvErr(code, code, err.Error())
return
}
body, err := io.ReadAll(c.Ctx.Request.Body)
@@ -379,7 +371,8 @@ func (c *BackendMcpServerController) Test() {
func (c *BackendMcpServerController) Tools() {
claims, err := c.mcpSrvClaims()
if err != nil {
c.mcpSrvErr(401, 401, err.Error())
code := identity.Status(err)
c.mcpSrvErr(code, code, err.Error())
return
}
idStr := c.Ctx.Input.Param(":id")
@@ -422,7 +415,8 @@ func (c *BackendMcpServerController) Tools() {
// Market GET /backend/mcp/server/market
func (c *BackendMcpServerController) Market() {
if _, err := c.mcpSrvClaims(); err != nil {
c.mcpSrvErr(401, 401, err.Error())
code := identity.Status(err)
c.mcpSrvErr(code, code, err.Error())
return
}
c.mcpSrvOk(map[string]interface{}{"list": services.GetMcpMarket()})
@@ -433,7 +427,8 @@ func (c *BackendMcpServerController) Market() {
func (c *BackendMcpServerController) AddFromMarket() {
claims, err := c.mcpSrvClaims()
if err != nil {
c.mcpSrvErr(401, 401, err.Error())
code := identity.Status(err)
c.mcpSrvErr(code, code, err.Error())
return
}
body, err := io.ReadAll(c.Ctx.Request.Body)