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"` 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 }