package passport import ( "crypto/md5" "encoding/hex" "fmt" "golib.gaore.com/GaoreGo/gaore-common-sdk-go/sdk/requests" "golib.gaore.com/GaoreGo/gaore-common-sdk-go/sdk/responses" "time" ) type GetUserListRequest struct { *requests.RpcRequest } type GetUserListResponse struct { *responses.BaseResponse Code int `json:"code"` Msg string `json:"msg"` Data []UserInfo `json:"data"` } type UserInfo struct { UserName string `json:"user_name"` // 用户名 Uid string `json:"uid"` // uid Telephone string `json:"telephone"` // 手机号 } // CreateGetUserListRequest 获取玩家用户列表 func CreateGetUserListRequest(userName string) (req *GetUserListRequest) { ts, sign := GetSign() req = &GetUserListRequest{ RpcRequest: &requests.RpcRequest{}, } req.InitWithApiInfo(HOST, VERSION, "/remote_login.php") req.FormParams = map[string]string{ "act": "info", "do": "get_user_list", "user_names": userName, "time": fmt.Sprintf("%v", ts), "sign": sign, } req.Method = requests.POST return } func CreateGetUserListResponse() (response *GetUserListResponse) { response = &GetUserListResponse{ BaseResponse: &responses.BaseResponse{}, } return } type GetUserRoleListRequest struct { *requests.RpcRequest } type GetUserRoleListResponse struct { *responses.BaseResponse Code int `json:"code"` Msg string `json:"msg"` Data []UserRoleInfo `json:"data"` } type UserRoleInfo struct { Uid string `json:"uid"` // uid GameId string `json:"game_id"` // 子游戏id RoleId string `json:"role_id"` // 角色id RoleName string `json:"role_name"` // 角色名 AddTime string `json:"add_time"` // 创建时间戳 UpdateTime string `json:"update_time"` // 更新时间戳 } // GetSign 封装一个方法,获取当天时间戳和api签名 func GetSign() (ts int64, sign string) { ts = time.Now().Unix() hash := md5.New() hash.Write([]byte(fmt.Sprintf("%v%v", ts, appKey))) hashBytes := hash.Sum(nil) sign = hex.EncodeToString(hashBytes) return } // CreateGetUserRoleListRequest 获取玩家角色列表 func CreateGetUserRoleListRequest(uid int, gameId int) (req *GetUserRoleListRequest) { ts, sign := GetSign() req = &GetUserRoleListRequest{ RpcRequest: &requests.RpcRequest{}, } req.InitWithApiInfo(HOST, VERSION, "/remote_login.php") req.FormParams = map[string]string{ "act": "info", "do": "user_role", "method": "get", "uid": fmt.Sprintf("%d", uid), "game_id": fmt.Sprintf("%d", gameId), "time": fmt.Sprintf("%v", ts), "sign": sign, } req.Method = requests.POST return } func CreateGetUserRoleListResponse() (response *GetUserRoleListResponse) { response = &GetUserRoleListResponse{ BaseResponse: &responses.BaseResponse{}, } return }