42 lines
778 B
Go
42 lines
778 B
Go
package api
|
|
|
|
import "context"
|
|
|
|
var userApiInstance IUserApi
|
|
|
|
func GetUserApiInstance() IUserApi {
|
|
return userApiInstance
|
|
}
|
|
|
|
type IUserApi interface {
|
|
Auth(ctx context.Context, req *AuthReq) (*AuthRsp, error)
|
|
}
|
|
|
|
func RegisterUserApiHandler(handler IUserApi) {
|
|
userApiInstance = handler
|
|
}
|
|
|
|
type AuthReq struct {
|
|
Token string
|
|
UserId int
|
|
Url string
|
|
}
|
|
|
|
type UserInfo struct {
|
|
UserId int `json:"user_id"`
|
|
UserName string `json:"user_name"`
|
|
NickName string `json:"nick_name"`
|
|
Icon string `json:"icon"`
|
|
Character string `json:"character"`
|
|
Permissions []string `json:"permissions"`
|
|
}
|
|
|
|
type TokenInfo struct {
|
|
Token string `json:"token"`
|
|
ExpireAt int64 `json:"expire_at"`
|
|
}
|
|
type AuthRsp struct {
|
|
User *UserInfo
|
|
Token *TokenInfo
|
|
}
|