diff --git a/admin/server/api/v1/enter.go b/admin/server/api/v1/enter.go index 5c1dff4..73a6350 100644 --- a/admin/server/api/v1/enter.go +++ b/admin/server/api/v1/enter.go @@ -3,6 +3,7 @@ package v1 import ( "github.com/flipped-aurora/gin-vue-admin/server/api/v1/example" "github.com/flipped-aurora/gin-vue-admin/server/api/v1/system" + "github.com/flipped-aurora/gin-vue-admin/server/api/v1/user" ) var ApiGroupApp = new(ApiGroup) @@ -10,4 +11,5 @@ var ApiGroupApp = new(ApiGroup) type ApiGroup struct { SystemApiGroup system.ApiGroup ExampleApiGroup example.ApiGroup + UserApiGroup user.ApiGroup } diff --git a/admin/server/api/v1/user/enter.go b/admin/server/api/v1/user/enter.go new file mode 100644 index 0000000..e21f9c7 --- /dev/null +++ b/admin/server/api/v1/user/enter.go @@ -0,0 +1,5 @@ +package user + +type ApiGroup struct { + UserApi +} diff --git a/admin/server/api/v1/user/user.go b/admin/server/api/v1/user/user.go new file mode 100644 index 0000000..bb1f20c --- /dev/null +++ b/admin/server/api/v1/user/user.go @@ -0,0 +1,38 @@ +package user + +import ( + "fmt" + "game/common/model/user" + "game/common/proto/pb" + "github.com/flipped-aurora/gin-vue-admin/server/global" + "github.com/flipped-aurora/gin-vue-admin/server/model/common/response" + us "github.com/flipped-aurora/gin-vue-admin/server/service/user" + "github.com/flipped-aurora/gin-vue-admin/server/utils" + "github.com/gin-gonic/gin" + "go.uber.org/zap" +) + +type UserApi struct{} + +func (e *UserApi) GetUserById(c *gin.Context) { + var gameUser = &user.GameUser{} + err := c.ShouldBindJSON(&gameUser) + if err != nil { + response.FailWithMessage(err.Error(), c) + return + } + err = utils.Verify(gameUser, utils.IdVerify) + if err != nil { + response.FailWithMessage(err.Error(), c) + return + } + + var code pb.ErrCode + gameUser, code = us.GetUser(gameUser.ID) + if code != pb.ErrCode_OK { + global.GVA_LOG.Error("查询失败!", zap.Error(fmt.Errorf(code.String()))) + response.FailWithMessage("查询失败", c) + return + } + response.OkWithData(gin.H{"user": gameUser}, c) +} diff --git a/admin/server/config.yaml b/admin/server/config.yaml index 03ed6a5..c5d5b55 100644 --- a/admin/server/config.yaml +++ b/admin/server/config.yaml @@ -7,7 +7,7 @@ aliyun-oss: base-path: yourBasePath autocode: web: web/src - root: C:\workspace\go\admin + root: C:\workspace\go\game\admin server: server module: github.com/flipped-aurora/gin-vue-admin/server ai-path: "" @@ -84,7 +84,7 @@ hua-wei-obs: access-key: you-access-key secret-key: you-secret-key jwt: - signing-key: 3998a6da-c0c0-4901-a052-18bb92b78c1e + signing-key: 17b6d687-48ea-412b-aa57-55fe4af4c2ca expires-time: 7d buffer-time: 1d issuer: qmPlus diff --git a/admin/server/initialize/router.go b/admin/server/initialize/router.go index 4e6fd08..2622e5e 100644 --- a/admin/server/initialize/router.go +++ b/admin/server/initialize/router.go @@ -53,6 +53,7 @@ func Routers() *gin.Engine { systemRouter := router.RouterGroupApp.System exampleRouter := router.RouterGroupApp.Example + userRouter := router.RouterGroupApp.User // 如果想要不使用nginx代理前端网页,可以修改 web/.env.production 下的 // VUE_APP_BASE_API = / // VUE_APP_BASE_PATH = http://localhost @@ -109,6 +110,10 @@ func Routers() *gin.Engine { } + { + userRouter.InitUserRouter(PrivateGroup, PublicGroup) + } + //插件路由安装 InstallPlugin(PrivateGroup, PublicGroup, Router) diff --git a/admin/server/router/enter.go b/admin/server/router/enter.go index 6e6d811..33b4a30 100644 --- a/admin/server/router/enter.go +++ b/admin/server/router/enter.go @@ -3,6 +3,7 @@ package router import ( "github.com/flipped-aurora/gin-vue-admin/server/router/example" "github.com/flipped-aurora/gin-vue-admin/server/router/system" + "github.com/flipped-aurora/gin-vue-admin/server/router/user" ) var RouterGroupApp = new(RouterGroup) @@ -10,4 +11,5 @@ var RouterGroupApp = new(RouterGroup) type RouterGroup struct { System system.RouterGroup Example example.RouterGroup + User user.RouterGroup } diff --git a/admin/server/router/user/enter.go b/admin/server/router/user/enter.go new file mode 100644 index 0000000..466b43e --- /dev/null +++ b/admin/server/router/user/enter.go @@ -0,0 +1,11 @@ +package user + +import api "github.com/flipped-aurora/gin-vue-admin/server/api/v1" + +type RouterGroup struct { + UserRouter +} + +var ( + userApi = api.ApiGroupApp.UserApiGroup.UserApi +) diff --git a/admin/server/router/user/user.go b/admin/server/router/user/user.go new file mode 100644 index 0000000..1ce4f2a --- /dev/null +++ b/admin/server/router/user/user.go @@ -0,0 +1,18 @@ +package user + +import ( + "github.com/flipped-aurora/gin-vue-admin/server/middleware" + "github.com/gin-gonic/gin" +) + +type UserRouter struct{} + +func (s *UserRouter) InitUserRouter(Router *gin.RouterGroup, RouterPub *gin.RouterGroup) { + _ = RouterPub + router := Router.Group("user").Use(middleware.OperationRecord()) + + { + router.GET("getUserById", userApi.GetUserById) // 获取玩家信息 + } + +} diff --git a/admin/server/router/user/user_test.go b/admin/server/router/user/user_test.go new file mode 100644 index 0000000..4e9fe4f --- /dev/null +++ b/admin/server/router/user/user_test.go @@ -0,0 +1,21 @@ +package user + +import ( + "github.com/gin-gonic/gin" + "github.com/stretchr/testify/assert" + "net/http" + "net/http/httptest" + "testing" +) + +func TestGetUserById(t *testing.T) { + r := gin.Default() + r.GET("/user/getUser", userApi.GetUserById) + + req, _ := http.NewRequest("GET", "/user/getUser?id=123", nil) + w := httptest.NewRecorder() + r.ServeHTTP(w, req) + + assert.Equal(t, http.StatusOK, w.Code) + t.Logf("Response: %s", w.Body.String()) +} diff --git a/admin/server/service/user/user.go b/admin/server/service/user/user.go new file mode 100644 index 0000000..828eff8 --- /dev/null +++ b/admin/server/service/user/user.go @@ -0,0 +1,17 @@ +package user + +import ( + "game/common/model/user" + "game/common/proto/pb" + "game/common/rpc" + "github.com/flipped-aurora/gin-vue-admin/server/servicex" +) + +//const ( +// timeout = time.Second * 30 +//) + +// 获取玩家数据 +func GetUser(uid int64) (*user.GameUser, pb.ErrCode) { + return rpc.RpcGetGameUser(servicex.GetService(), uid) +} diff --git a/admin/web/package.json b/admin/web/package.json index d6f9cc7..b6afc80 100644 --- a/admin/web/package.json +++ b/admin/web/package.json @@ -4,6 +4,7 @@ "private": true, "scripts": { "dev": "vite --port 520", + "test": "node openDocument.js && vite --host --mode development", "serve": "node openDocument.js && vite --host --mode development", "build": "vite build --mode production", "build-test": "vite build --mode test", diff --git a/admin/web/src/api/gameUser.js b/admin/web/src/api/gameUser.js new file mode 100644 index 0000000..9650ecc --- /dev/null +++ b/admin/web/src/api/gameUser.js @@ -0,0 +1,11 @@ +import request from '@/utils/request' + + + +export function getUserById(params) { + return request({ + url: '/user/getUserById', + method: 'get', + data: params + }) +} \ No newline at end of file diff --git a/admin/web/src/pathInfo.json b/admin/web/src/pathInfo.json index 099d5d6..f200f9d 100644 --- a/admin/web/src/pathInfo.json +++ b/admin/web/src/pathInfo.json @@ -18,6 +18,8 @@ "/src/view/example/index.vue": "Example", "/src/view/example/upload/scanUpload.vue": "scanUpload", "/src/view/example/upload/upload.vue": "Upload", + "/src/view/gameuser/gggg/user.vue": "User", + "/src/view/gameuser/index.vue": "Index", "/src/view/init/index.vue": "Init", "/src/view/layout/aside/asideComponent/asyncSubmenu.vue": "AsyncSubmenu", "/src/view/layout/aside/asideComponent/index.vue": "AsideComponent", @@ -68,6 +70,7 @@ "/src/view/systemTools/installPlugin/index.vue": "Index", "/src/view/systemTools/pubPlug/pubPlug.vue": "PubPlug", "/src/view/systemTools/system/system.vue": "Config", + "/src/view/test/test.vue": "Test", "/src/plugin/announcement/form/info.vue": "InfoForm", "/src/plugin/announcement/view/info.vue": "Info", "/src/plugin/email/view/index.vue": "Email" diff --git a/admin/web/src/view/gameuser/index.vue b/admin/web/src/view/gameuser/index.vue new file mode 100644 index 0000000..7074308 --- /dev/null +++ b/admin/web/src/view/gameuser/index.vue @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + +