实现游戏人生背包url 返回
This commit is contained in:
@ -21,4 +21,5 @@ type IUserV1 interface {
|
|||||||
GetUnboundUrl(ctx context.Context, req *v1.GetUnboundUrlReq) (res *v1.GetUnboundUrlRes, err error)
|
GetUnboundUrl(ctx context.Context, req *v1.GetUnboundUrlReq) (res *v1.GetUnboundUrlRes, err error)
|
||||||
DelUser(ctx context.Context, req *v1.DelUserReq) (res *v1.DelUserRes, err error)
|
DelUser(ctx context.Context, req *v1.DelUserReq) (res *v1.DelUserRes, err error)
|
||||||
GetUserGameRoleList(ctx context.Context, req *v1.GetUserGameRoleListReq) (res *v1.GetUserGameRoleListRes, err error)
|
GetUserGameRoleList(ctx context.Context, req *v1.GetUserGameRoleListReq) (res *v1.GetUserGameRoleListRes, err error)
|
||||||
|
GetGamelifePackageUrl(ctx context.Context, req *v1.GetGamelifePackageUrlReq) (res *v1.GetGamelifePackageUrlRes, err error)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -110,3 +110,14 @@ type GetUserGameRoleListReq struct {
|
|||||||
type GetUserGameRoleListRes struct {
|
type GetUserGameRoleListRes struct {
|
||||||
List interface{} `json:"list"`
|
List interface{} `json:"list"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type GetGamelifePackageUrlReq struct {
|
||||||
|
g.Meta `path:"/user/packageUrl" method:"get" tags:"User" summary:"获取GameLife游戏包的url"`
|
||||||
|
PopenId string `json:"popenId" v:"required#popenId不能为空" dc:"用户详情接口返回的 wxPopenId 或者是 qqPopenId"`
|
||||||
|
BindType int `json:"bindType" v:"required|in:1,2#请选择绑定方式,只能为1或2" dc:"绑定方式,默认值1,1: qq; 2: wx" default:"1"`
|
||||||
|
GameCode string `json:"gameCode" v:"required#请选择游戏" dc:"游戏名称"`
|
||||||
|
GameId int `json:"gameId" v:"required#gameId不能为空" dc:"游戏id"`
|
||||||
|
}
|
||||||
|
type GetGamelifePackageUrlRes struct {
|
||||||
|
Url string `json:"url"`
|
||||||
|
}
|
||||||
|
|||||||
17
internal/controller/user/user_v1_get_gamelife_package_url.go
Normal file
17
internal/controller/user/user_v1_get_gamelife_package_url.go
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
package user
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
"server/internal/model"
|
||||||
|
"server/internal/service"
|
||||||
|
|
||||||
|
"server/api/user/v1"
|
||||||
|
)
|
||||||
|
|
||||||
|
func (c *ControllerV1) GetGamelifePackageUrl(ctx context.Context, req *v1.GetGamelifePackageUrlReq) (res *v1.GetGamelifePackageUrlRes, err error) {
|
||||||
|
out, err := service.User().GamelifePackUrl(ctx, &model.GamelifePackUrlIn{BindType: req.BindType, PopenId: req.PopenId, GameId: req.GameId, GameCode: req.GameCode})
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return &v1.GetGamelifePackageUrlRes{Url: out.Url}, nil
|
||||||
|
}
|
||||||
@ -4,6 +4,8 @@ import (
|
|||||||
"context"
|
"context"
|
||||||
"fmt"
|
"fmt"
|
||||||
"github.com/gogf/gf/v2/frame/g"
|
"github.com/gogf/gf/v2/frame/g"
|
||||||
|
"github.com/gogf/gf/v2/os/gtime"
|
||||||
|
"github.com/gogf/gf/v2/util/grand"
|
||||||
"server/internal/consts"
|
"server/internal/consts"
|
||||||
"server/internal/dao"
|
"server/internal/dao"
|
||||||
"server/internal/model"
|
"server/internal/model"
|
||||||
@ -15,9 +17,6 @@ import (
|
|||||||
"server/utility/encrypt"
|
"server/utility/encrypt"
|
||||||
"server/utility/gamelife"
|
"server/utility/gamelife"
|
||||||
"server/utility/jwt"
|
"server/utility/jwt"
|
||||||
|
|
||||||
"github.com/gogf/gf/v2/os/gtime"
|
|
||||||
"github.com/gogf/gf/v2/util/grand"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type sUser struct{}
|
type sUser struct{}
|
||||||
@ -313,3 +312,12 @@ func (s *sUser) GetUserGameRole(ctx context.Context, in *model.GetUserGameRoleIn
|
|||||||
RoleList: *result,
|
RoleList: *result,
|
||||||
}, nil
|
}, nil
|
||||||
}
|
}
|
||||||
|
func (s *sUser) GamelifePackUrl(ctx context.Context, in *model.GamelifePackUrlIn) (out *model.GamelifePackUrlOut, err error) {
|
||||||
|
url, err := gamelife.GetGamelifeClient(ctx).GetGamelifePackageUrl(ctx, in.PopenId, in.GameCode, in.GameId, in.BindType)
|
||||||
|
if err != nil {
|
||||||
|
return nil, ecode.Fail.Sub("获取绑定链接失败")
|
||||||
|
}
|
||||||
|
return &model.GamelifePackUrlOut{
|
||||||
|
Url: url,
|
||||||
|
}, nil
|
||||||
|
}
|
||||||
|
|||||||
@ -195,3 +195,12 @@ type GetUserGameRoleIn struct {
|
|||||||
type GetUserGameRoleOut struct {
|
type GetUserGameRoleOut struct {
|
||||||
RoleList []UserRole
|
RoleList []UserRole
|
||||||
}
|
}
|
||||||
|
type GamelifePackUrlIn struct {
|
||||||
|
PopenId string
|
||||||
|
GameId int
|
||||||
|
GameCode string
|
||||||
|
BindType int
|
||||||
|
}
|
||||||
|
type GamelifePackUrlOut struct {
|
||||||
|
Url string
|
||||||
|
}
|
||||||
|
|||||||
@ -24,6 +24,7 @@ type (
|
|||||||
BoundInfo(ctx context.Context, in *model.UserBoundInfoIn) (out *model.UserBoundInfoOut, err error)
|
BoundInfo(ctx context.Context, in *model.UserBoundInfoIn) (out *model.UserBoundInfoOut, err error)
|
||||||
DelUser(ctx context.Context, in *model.DelUserIn) (out *model.DeleteOut, err error)
|
DelUser(ctx context.Context, in *model.DelUserIn) (out *model.DeleteOut, err error)
|
||||||
GetUserGameRole(ctx context.Context, in *model.GetUserGameRoleIn) (out *model.GetUserGameRoleOut, err error)
|
GetUserGameRole(ctx context.Context, in *model.GetUserGameRoleIn) (out *model.GetUserGameRoleOut, err error)
|
||||||
|
GamelifePackUrl(ctx context.Context, in *model.GamelifePackUrlIn) (out *model.GamelifePackUrlOut, err error)
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@ -73,7 +73,7 @@ var URLMaps = struct {
|
|||||||
},
|
},
|
||||||
Package: map[string]string{
|
Package: map[string]string{
|
||||||
"test": "https://test.igame.qq.com/tip/ingame-page/feature/add-game-life/igame-game-life-web/#/index/goods",
|
"test": "https://test.igame.qq.com/tip/ingame-page/feature/add-game-life/igame-game-life-web/#/index/goods",
|
||||||
"prod": "https://igame.qq.com/tip/ingame-page/feature/add-game-life/igame-game-life-web/#/index/goods",
|
"prod": "https://igame.qq.com/tip/ingame-page/igame-game-life-web/index.html#/index/goods",
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -195,7 +195,7 @@ func (s *gamelifeClient) GetUrl(ctx context.Context, popenID, appName, nickname
|
|||||||
}
|
}
|
||||||
return fmt.Sprintf("%s?%s", rootURL, params), nil
|
return fmt.Sprintf("%s?%s", rootURL, params), nil
|
||||||
}
|
}
|
||||||
func (s *gamelifeClient) GetGamelifePackageUrl(ctx context.Context, popenID, appName string, bindType int) (string, error) {
|
func (s *gamelifeClient) GetGamelifePackageUrl(ctx context.Context, popenID, gameCode string, gameId, bindType int) (string, error) {
|
||||||
// 从配置中获取 package URL 前缀
|
// 从配置中获取 package URL 前缀
|
||||||
packageURL := s.packageURLMap[s.config.Mode]
|
packageURL := s.packageURLMap[s.config.Mode]
|
||||||
|
|
||||||
@ -204,10 +204,15 @@ func (s *gamelifeClient) GetGamelifePackageUrl(ctx context.Context, popenID, app
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return "", err
|
return "", err
|
||||||
}
|
}
|
||||||
params, err := s.buildQueryParams(ctx, popenID, cache, appName, "", bindType, true)
|
|
||||||
|
params, err := s.buildQueryParams(ctx, popenID, cache, gameCode, "", bindType, true)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return "", err
|
return "", err
|
||||||
}
|
}
|
||||||
|
if gameId != 0 {
|
||||||
|
params = fmt.Sprintf("%s&gid=%d", params, gameId)
|
||||||
|
}
|
||||||
|
|
||||||
return fmt.Sprintf("%s?%s", packageURL, params), nil
|
return fmt.Sprintf("%s?%s", packageURL, params), nil
|
||||||
}
|
}
|
||||||
|
|||||||
@ -70,6 +70,7 @@ func init() {
|
|||||||
enforcer.AddPolicy("user", "/x/user/boundUrl", "GET", "获取用户绑定的URL")
|
enforcer.AddPolicy("user", "/x/user/boundUrl", "GET", "获取用户绑定的URL")
|
||||||
enforcer.AddPolicy("user", "/x/user/unBoundUrl", "GET", "获取用户取消绑定的URL")
|
enforcer.AddPolicy("user", "/x/user/unBoundUrl", "GET", "获取用户取消绑定的URL")
|
||||||
enforcer.AddPolicy("user", "/x/user/gameRoleList", "GET", "查询用户游戏角色列表")
|
enforcer.AddPolicy("user", "/x/user/gameRoleList", "GET", "查询用户游戏角色列表")
|
||||||
|
enforcer.AddPolicy("user", "/x/user/packageUrl", "GET", "获取用户游戏人生背包url")
|
||||||
|
|
||||||
// 反馈信息
|
// 反馈信息
|
||||||
enforcer.AddPolicy("user", "/x/feedback", "GET", "获取反馈信息列表")
|
enforcer.AddPolicy("user", "/x/feedback", "GET", "获取反馈信息列表")
|
||||||
|
|||||||
Reference in New Issue
Block a user