114 lines
2.8 KiB
Go
114 lines
2.8 KiB
Go
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
|
||
}
|