Documentation ¶
Index ¶
Constants ¶
View Source
const (
// 模块名称
AppName = "users"
)
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CreateUserRequest ¶
type CreateUserRequest struct { Username string `json:"username" validate:"required" gorm:"column:username"` Password string `json:"password" validate:"required" gorm:"column:password"` Role Role `json:"role" gorm:"column:role"` Label map[string]string `json:"label" gorm:"column:label;serializer:json"` // 用json序列化填充到label }
用户创建的参数
func NewCreateUserRequest ¶
func NewCreateUserRequest() *CreateUserRequest
为了避免对象内部出现很多空指针, 指针对象为初始化, 为该对象提供一个构造函数 还能做一些相关兼容,补充默认值的功能, New+对象名称()
func (*CreateUserRequest) CheckPassword ¶
func (c *CreateUserRequest) CheckPassword(pass string) error
校验密码
func (*CreateUserRequest) Validate ¶
func (req *CreateUserRequest) Validate() error
type DeleteUserRequest ¶
type DeleteUserRequest struct {
UserId int
}
删除用户,根据id进行删除
func NewDeleteUserRequest ¶
func NewDeleteUserRequest(uid int) *DeleteUserRequest
DeleteUserRequest构造函数
type DescribeUserRequest ¶
type DescribeUserRequest struct {
UserId string
}
func NewDescribeUserRequest ¶
func NewDescribeUserRequest(uid string) *DescribeUserRequest
DescribeUserRequest构造函数
type QueryUserRequest ¶
type QueryUserRequest struct { // 分页大小, 一个多少个 PageSize int // 当前页, 查询哪一页的数据 PageNumber int // 更加用户name查找用户 Username string }
查询用户列表
func (*QueryUserRequest) Limit ¶
func (req *QueryUserRequest) Limit() int
func (*QueryUserRequest) Offset ¶
func (req *QueryUserRequest) Offset() int
1, 0 2, 20, 3, 20 * 2 4, 20 * 3
type Service ¶
type Service interface { // 用户创建 // CreateUser(username, password, role string, lable map[string]string) // 设计CreateUserRequest, 可以扩展对象, 而不影响接口的定义 // 1. 这个接口支持取消吗? 要支持取消应该怎么办? // 2. 这个接口支持Trace, TraceId怎么传递? // 中间件参数,取消/Trace/... 怎么产生怎么传递,用context传递 CreateUser(context.Context, *CreateUserRequest) (*User, error) // 查询用户列表, 对象列表 [{}] QueryUser(context.Context, *QueryUserRequest) (*UserSet, error) // 查询用户详情, 通过Id查询, DescribeUser(context.Context, *DescribeUserRequest) (*User, error) // 用户修改 UpdateUser(context.Context, *UpdateUserRequest) (*User, error) // 用户删除 DeleteUser(context.Context, *DeleteUserRequest) (*User, error) }
面向对象 user.Service, 设计user模块提供的接口 接口定义, 一定要考虑兼容性, 接口的参数不能变
type UpdateUserRequest ¶
type UpdateUserRequest struct { UserId int Username string `json:"username" validate:"required" gorm:"column:username"` Password string `json:"password" validate:"required" gorm:"column:password"` Role Role `json:"role" validate:"required" gorm:"column:role"` }
修改用户,支持修改用户名,密码,角色,根据id进行修改
func NewUpdateUserRequest ¶
func NewUpdateUserRequest(uid int, username, password string, role Role) *UpdateUserRequest
UpdateUserRequest构造函数
type User ¶
type User struct { // 用户Id Id int `json:"id" gorm:"column:id"` // 创建时间, 时间戳 10位, 秒 CreatedAt int64 `json:"created_at" gorm:"column:created_at"` // 更新时间, 时间戳 10位, 秒 UpdatedAt int64 `json:"updated_at" gorm:"column:updated_at"` // 用户参数 *CreateUserRequest }
用户创建成功后返回一个User对象 CreatedAt 为啥没用time.Time, int64(TimeStamp), 统一标准化, 避免时区你的程序产生影响 在需要对时间进行展示的时候,由前端根据具体展示那个时区的时间
Click to show internal directories.
Click to hide internal directories.