fix: some api bug

This commit is contained in:
wwweww
2026-03-31 22:12:06 +08:00
parent c5ff4f0216
commit e7970ac25f
219 changed files with 16195 additions and 2126 deletions
+10 -1
View File
@@ -7,5 +7,14 @@ Prometheus:
Port: 4001
Path: /metrics
# ===== PROC CONF =====
#GameRpcConf:
# Target: k8s://juwan/game-rpc-svc:8080
# ===== DEV CONF =====
GameRpcConf:
Target: k8s://juwan/game-rpc-svc:8080
Endpoints:
- game-rpc:8080
Log:
Level: debug
+3
View File
@@ -6,6 +6,7 @@ package main
import (
"flag"
"fmt"
"juwan-backend/common/middlewares"
"juwan-backend/app/game/api/internal/config"
"juwan-backend/app/game/api/internal/handler"
@@ -24,6 +25,8 @@ func main() {
conf.MustLoad(*configFile, &c)
server := rest.MustNewServer(c.RestConf)
server.Use(middlewares.NewRequestMiddleware().Handle)
server.Use(middlewares.NewHeaderExtractorMiddleware().Handle)
defer server.Stop()
ctx := svc.NewServiceContext(c)
@@ -0,0 +1,32 @@
// Code scaffolded by goctl. Safe to edit.
// goctl 1.9.2
package game
import (
"net/http"
"github.com/zeromicro/go-zero/rest/httpx"
"juwan-backend/app/game/api/internal/logic/game"
"juwan-backend/app/game/api/internal/svc"
"juwan-backend/app/game/api/internal/types"
)
// 创建游戏
func CreateGameHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
var req types.Game
if err := httpx.Parse(r, &req); err != nil {
httpx.ErrorCtx(r.Context(), w, err)
return
}
l := game.NewCreateGameLogic(r.Context(), svcCtx)
resp, err := l.CreateGame(&req)
if err != nil {
httpx.ErrorCtx(r.Context(), w, err)
} else {
httpx.OkJsonCtx(r.Context(), w, resp)
}
}
}
+6
View File
@@ -21,6 +21,12 @@ func RegisterHandlers(server *rest.Server, serverCtx *svc.ServiceContext) {
Path: "/",
Handler: game.ListGamesHandler(serverCtx),
},
{
// 创建游戏
Method: http.MethodPost,
Path: "/",
Handler: game.CreateGameHandler(serverCtx),
},
{
// 获取游戏详情
Method: http.MethodGet,
@@ -0,0 +1,46 @@
// Code scaffolded by goctl. Safe to edit.
// goctl 1.9.2
package game
import (
"context"
"errors"
"juwan-backend/app/game/rpc/pb"
"juwan-backend/app/game/api/internal/svc"
"juwan-backend/app/game/api/internal/types"
"github.com/zeromicro/go-zero/core/logx"
)
type CreateGameLogic struct {
logx.Logger
ctx context.Context
svcCtx *svc.ServiceContext
}
// 创建游戏
func NewCreateGameLogic(ctx context.Context, svcCtx *svc.ServiceContext) *CreateGameLogic {
return &CreateGameLogic{
Logger: logx.WithContext(ctx),
ctx: ctx,
svcCtx: svcCtx,
}
}
func (l *CreateGameLogic) CreateGame(req *types.Game) (resp *types.Game, err error) {
// todo: add your logic here and delete this line
_, err = l.svcCtx.GameRpc.AddGames(l.ctx, &pb.AddGamesReq{
Name: req.Name,
Icon: req.Icon,
Category: req.Category,
IsActive: false,
})
if err != nil {
logx.Errorf("add game err: %v", err)
return nil, errors.New("add game err")
}
return &types.Game{}, nil
}
@@ -35,6 +35,7 @@ func (l *ListGamesLogic) ListGames(req *types.PageReq) (resp *types.GameListResp
Limit: req.Limit,
})
if err != nil {
logx.Errorf("ListGames err:%v", err)
return nil, err
}