54 lines
1.4 KiB
Go
54 lines
1.4 KiB
Go
package types
|
|
|
|
import (
|
|
"ego/internal/model"
|
|
"ego/internal/serializer"
|
|
"net/http"
|
|
)
|
|
|
|
// User 用户序列化器
|
|
type User struct {
|
|
ID string `json:"id"`
|
|
UserName string `json:"userName"`
|
|
Nickname string `json:"nickName"`
|
|
Token string `json:"token"`
|
|
Status string `json:"status"`
|
|
Avatar string `json:"avatar"`
|
|
CreatedAt int64 `json:"createdAt"`
|
|
}
|
|
|
|
// BuildUser 序列化用户
|
|
func BuildUser(user model.SysUser) User {
|
|
return User{
|
|
ID: user.UserId,
|
|
UserName: user.UserName,
|
|
Nickname: user.NickName,
|
|
Status: user.Status,
|
|
Avatar: user.Avatar,
|
|
CreatedAt: user.CreateTime.Unix(),
|
|
}
|
|
}
|
|
|
|
// BuildUserHasToken BuildUser 序列化用户
|
|
func BuildUserHasToken(user model.SysUser, token string) User {
|
|
return User{
|
|
ID: user.UserId,
|
|
UserName: user.UserName,
|
|
Nickname: user.NickName,
|
|
Status: user.Status,
|
|
Avatar: user.Avatar,
|
|
CreatedAt: user.CreateTime.Unix(),
|
|
Token: token,
|
|
}
|
|
}
|
|
|
|
// BuildUserResponse 序列化用户响应
|
|
func BuildUserResponse(user model.SysUser) serializer.Response {
|
|
return serializer.Response{Code: http.StatusOK, Data: BuildUser(user)}
|
|
}
|
|
|
|
// BuildUserResponseHasToken BuildUserResponse 序列化用户响应
|
|
func BuildUserResponseHasToken(user model.SysUser, token string) serializer.Response {
|
|
return serializer.Response{Code: http.StatusOK, Msg: "登录成功!", Data: BuildUserHasToken(user, token)}
|
|
}
|