services

package
v0.0.0-...-dabeb0a Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 23, 2025 License: GPL-3.0 Imports: 25 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

Module 服务模块

Functions

func RegisterServices

func RegisterServices() fx.Option

RegisterServices 注册所有服务

func VerifyPassword

func VerifyPassword(password, hashedPassword string) bool

VerifyPassword 验证用户密码 直接使用 crypto.CheckPassword,避免在多个服务中重复实现

Types

type APIService

type APIService struct {
	// contains filtered or unexported fields
}

APIService API服务

func NewAPIService

func NewAPIService(apiRepo *repository.APIRepo) *APIService

NewAPIService 创建API服务

func (*APIService) Create

func (s *APIService) Create(ctx context.Context, api *model.API) error

Create 创建API

func (*APIService) Delete

func (s *APIService) Delete(ctx context.Context, id uint) error

Delete 删除API

func (*APIService) GetAll

func (s *APIService) GetAll(ctx context.Context) ([]*model.API, error)

GetAll 获取所有API

func (*APIService) GetByID

func (s *APIService) GetByID(ctx context.Context, id uint) (*model.API, error)

GetByID 根据ID获取API

func (*APIService) GetByMenuID

func (s *APIService) GetByMenuID(ctx context.Context, menuID uint) ([]*model.API, error)

GetByMenuID 获取菜单关联的API

func (*APIService) GetByPath

func (s *APIService) GetByPath(ctx context.Context, path string, method string) (*model.API, error)

GetByPath 根据路径获取API

func (*APIService) Update

func (s *APIService) Update(ctx context.Context, api *model.API) error

Update 更新API

type AdminService

type AdminService struct {
	// contains filtered or unexported fields
}

AdminService 管理系统服务

func NewAdminService

func NewAdminService(params ServiceParams) *AdminService

NewAdminService 创建管理系统服务

func (*AdminService) GetSystemSettings

func (s *AdminService) GetSystemSettings(ctx context.Context) map[string]any

GetSystemSettings 获取系统设置

type AdminUserService

type AdminUserService struct {
	// contains filtered or unexported fields
}

AdminUserService 管理员用户服务

func NewAdminUserService

func NewAdminUserService(adminUserRepo *repository.AdminUserRepo, userRepo *repository.UserRepo, roleService *RoleService, casbinService casbin.Service, config *configs.Config) *AdminUserService

NewAdminUserService 创建管理员用户服务

func (*AdminUserService) Login

func (s *AdminUserService) Login(ctx context.Context, username, password string, ip string) (*v1.LoginResponse, error)

Login 管理员用户登录

func (*AdminUserService) RefreshToken

func (s *AdminUserService) RefreshToken(ctx context.Context, refreshToken string) (*v1.LoginResponse, error)

RefreshToken 刷新访问令牌

func (*AdminUserService) VerifyPassword

func (s *AdminUserService) VerifyPassword(password, hashedPassword string) bool

VerifyPassword 验证用户密码

type AdminUserServiceInterface

type AdminUserServiceInterface interface {
	// 管理员登录
	Login(ctx context.Context, username, password string, ip string) (*v1.LoginResponse, error)
	// 刷新令牌
	RefreshToken(ctx context.Context, refreshToken string) (*v1.LoginResponse, error)
	// 获取管理员用户信息
	GetUserInfo(ctx context.Context, id int64) (interface{}, error)
}

AdminUserServiceInterface 管理员用户服务接口 定义管理员用户服务的通用方法,不同模式下的实现可能不同

func ProvideAdminUserService

func ProvideAdminUserService(params ServiceParams, casbinService casbin.Service, authService *AuthService) AdminUserServiceInterface

ProvideAdminUserService 根据用户模式提供管理员用户服务

type AuthService

type AuthService struct {
	// contains filtered or unexported fields
}

AuthService 认证服务,处理通用的认证逻辑

func NewAuthService

func NewAuthService(config *configs.Config) *AuthService

NewAuthService 创建认证服务

func (*AuthService) CreateLoginResponse

func (s *AuthService) CreateLoginResponse(accessToken, refreshToken string) *v1.LoginResponse

CreateLoginResponse 创建登录响应

func (*AuthService) CreateLoginResponseWithContext

func (s *AuthService) CreateLoginResponseWithContext(ctx context.Context, accessToken, refreshToken string) *v1.LoginResponse

CreateLoginResponseWithContext 使用上下文创建登录响应

func (*AuthService) GenerateAccessToken

func (s *AuthService) GenerateAccessToken(userID uint, username string, userType enum.UserType, roles []string) (string, error)

GenerateAccessToken 只生成访问令牌 用于刷新令牌时只需要生成新的访问令牌

func (*AuthService) GenerateAccessTokenWithContext

func (s *AuthService) GenerateAccessTokenWithContext(ctx context.Context, userID uint, username string, userType enum.UserType, roles []string) (string, error)

GenerateAccessTokenWithContext 使用上下文只生成访问令牌

func (*AuthService) GenerateTokens

func (s *AuthService) GenerateTokens(userID uint, username string, userType enum.UserType, roles []string) (*v1.LoginResponse, error)

GenerateTokens 生成访问令牌和刷新令牌 提取通用的令牌生成逻辑

func (*AuthService) GenerateTokensWithContext

func (s *AuthService) GenerateTokensWithContext(ctx context.Context, userID uint, username string, userType enum.UserType, roles []string) (*v1.LoginResponse, error)

GenerateTokensWithContext 使用上下文生成访问令牌和刷新令牌

func (*AuthService) ParseRefreshToken

func (s *AuthService) ParseRefreshToken(refreshToken string) (*jwtpkg.CustomClaims, error)

ParseRefreshToken 解析刷新令牌

func (*AuthService) ValidateRefreshToken

func (s *AuthService) ValidateRefreshToken(refreshToken string) (*jwtpkg.CustomClaims, error)

ValidateRefreshToken 验证刷新令牌

func (*AuthService) ValidateRefreshTokenWithContext

func (s *AuthService) ValidateRefreshTokenWithContext(ctx context.Context, refreshToken string) (*jwtpkg.CustomClaims, error)

ValidateRefreshTokenWithContext 使用上下文验证刷新令牌

type ErrorMonitorService

type ErrorMonitorService struct {
	// contains filtered or unexported fields
}

ErrorMonitorService 错误监控服务

func NewErrorMonitorService

func NewErrorMonitorService() *ErrorMonitorService

NewErrorMonitorService 创建错误监控服务

func (*ErrorMonitorService) GetErrorStats

func (s *ErrorMonitorService) GetErrorStats(ctx context.Context) map[int]*ErrorStat

GetErrorStats 获取错误统计信息

func (*ErrorMonitorService) RecordError

func (s *ErrorMonitorService) RecordError(ctx context.Context, err error)

RecordError 记录错误

func (*ErrorMonitorService) ResetStats

func (s *ErrorMonitorService) ResetStats(ctx context.Context)

ResetStats 重置统计信息

func (*ErrorMonitorService) SetThreshold

func (s *ErrorMonitorService) SetThreshold(ctx context.Context, threshold int)

SetThreshold 设置报警阈值

type ErrorStat

type ErrorStat struct {
	Code      int       // 错误码
	Count     int       // 出现次数
	FirstSeen time.Time // 首次出现时间
	LastSeen  time.Time // 最后出现时间
}

ErrorStat 错误统计信息

type FileService

type FileService struct {
	// contains filtered or unexported fields
}

FileService 文件服务

func NewFileService

func NewFileService(storage *filestore.Storage, fileRepo *repository.FileRepo, userRepo *repository.UserRepo, adminUserRepo *repository.AdminUserRepo) *FileService

NewFileService 创建文件服务

func (*FileService) DeleteFile

func (s *FileService) DeleteFile(ctx context.Context, id string, currentUserID int64, currentUserType enum.UserType) error

DeleteFile 删除文件

func (*FileService) GetFile

func (s *FileService) GetFile(ctx context.Context, id string, currentUserID int64, currentUserType enum.UserType) (*model.File, error)

GetFile 获取文件信息

func (*FileService) GetFileContent

func (s *FileService) GetFileContent(ctx context.Context, id string, currentUserID int64, currentUserType enum.UserType) (io.ReadCloser, string, error)

获取文件内容

func (*FileService) UpdateAdminUserAvatar

func (s *FileService) UpdateAdminUserAvatar(ctx context.Context, userID int64, fileHeader *multipart.FileHeader) (string, error)

UpdateAdminUserAvatar 更新管理员用户头像

func (*FileService) UpdateUserAvatar

func (s *FileService) UpdateUserAvatar(ctx context.Context, userID int64, fileHeader *multipart.FileHeader) (string, error)

UpdateUserAvatar 更新用户头像

func (*FileService) UploadFile

func (s *FileService) UploadFile(ctx context.Context, fileHeader *multipart.FileHeader, fileType string, uploaderID int64, userType enum.UserType, isPublic bool) (*model.File, error)

UploadFile 上传文件

type MenuAPIService struct {
	// contains filtered or unexported fields
}

MenuAPIService 菜单API关联服务

func NewMenuAPIService

func NewMenuAPIService(
	menuRepo *repository.MenuRepo,
	apiRepo *repository.APIRepo,
	roleRepo *repository.RoleRepo,
	permissionRepo *repository.PermissionRepo,
	casbinService casbin.Service,
) *MenuAPIService

NewMenuAPIService 创建菜单API关联服务

func (s *MenuAPIService) AssignAPIsToMenu(ctx context.Context, menuID uint, apiIDs []uint) error

AssignAPIsToMenu 为菜单分配API 将API关联到菜单,并自动创建权限记录,同时将权限同步到Casbin

func (s *MenuAPIService) AssignMenuToRole(ctx context.Context, roleID uint, menuIDs []uint) error

AssignMenuToRole 为角色分配菜单时,同步分配API权限 将菜单关联到角色,并自动同步菜单关联的API权限到Casbin

func (s *MenuAPIService) GetAPIRoles(ctx context.Context, apiID uint) ([]*model.Role, error)

GetAPIRoles 获取API关联的所有角色 返回API关联的所有菜单的角色列表

func (s *MenuAPIService) GetMenuAPIs(ctx context.Context, menuID uint) ([]*model.API, error)

GetMenuAPIs 获取菜单关联的所有API 返回菜单关联的所有API列表

func (s *MenuAPIService) SyncMenuAPIPermissions(ctx context.Context) error

SyncMenuAPIPermissions 同步所有菜单API权限到Casbin 遍历所有菜单和角色,将菜单关联的API权限同步到Casbin

type MenuService struct {
	// contains filtered or unexported fields
}

MenuService 菜单服务

func NewMenuService

func NewMenuService(params ServiceParams, casbinService casbin.Service) *MenuService

NewMenuService 创建菜单服务

func (s *MenuService) AssignMenuToRole(ctx context.Context, roleID uint, menuIDs []uint) error

AssignMenuToRole 为角色分配菜单

func (s *MenuService) CreateMenu(ctx context.Context, menu *model.Menu) error

CreateMenu 创建菜单

func (s *MenuService) DeleteMenu(ctx context.Context, id uint) error

DeleteMenu 删除菜单

func (s *MenuService) GetMenuByID(ctx context.Context, id uint) (*model.Menu, error)

GetMenuByID 根据ID获取菜单

func (s *MenuService) GetMenuPermsByUserID(ctx context.Context, userID uint) ([]string, error)

GetMenuPermsByUserID 获取用户菜单权限标识

func (s *MenuService) GetMenuTree(ctx context.Context) ([]*model.MenuTree, error)

GetMenuTree 获取菜单树(用于前端菜单选择)

func (s *MenuService) GetMenus(ctx context.Context) ([]model.Menu, error)

GetMenus 获取所有菜单

func (s *MenuService) GetMenusByRoleID(ctx context.Context, roleID uint) ([]model.Menu, error)

GetMenusByRoleID 获取角色菜单

func (s *MenuService) GetUserMenuTree(ctx context.Context, userID string, roles []model.Role) ([]*model.MenuTree, error)

GetUserMenuTree 获取用户菜单树

func (s *MenuService) GetUserMenus(ctx context.Context, userID int64) ([]*model.MenuTree, error)

GetUserMenus 获取用户菜单

func (s *MenuService) UpdateMenu(ctx context.Context, menu *model.Menu) error

UpdateMenu 更新菜单

type MenuServiceInterface interface {
	// 菜单相关方法
	CreateMenu(ctx context.Context, menu *model.Menu) error
	UpdateMenu(ctx context.Context, menu *model.Menu) error
	DeleteMenu(ctx context.Context, id uint) error
	GetMenuByID(ctx context.Context, id uint) (*model.Menu, error)
	GetMenus(ctx context.Context) ([]model.Menu, error)
	GetMenuTree(ctx context.Context) ([]*model.MenuTree, error)
	GetUserMenus(ctx context.Context, userID int64) ([]*model.MenuTree, error)
	// 角色菜单相关方法
	GetMenusByRoleID(ctx context.Context, roleID uint) ([]model.Menu, error)
	AssignMenuToRole(ctx context.Context, roleID uint, menuIDs []uint) error
	// 权限相关方法
	GetMenuPermsByUserID(ctx context.Context, userID uint) ([]string, error)
}

MenuServiceInterface 菜单服务接口

func ProvideMenuService

func ProvideMenuService(params ServiceParams, casbinService casbin.Service) MenuServiceInterface

ProvideMenuService 根据用户模式提供菜单服务

type OperationLogService

type OperationLogService struct {
	// contains filtered or unexported fields
}

OperationLogService 操作日志服务

func NewOperationLogService

func NewOperationLogService(logRepo *repository.OperationLogRepo) *OperationLogService

NewOperationLogService 创建操作日志服务

func (*OperationLogService) BatchDeleteOperationLogs

func (s *OperationLogService) BatchDeleteOperationLogs(ctx context.Context, ids []uint) error

BatchDeleteOperationLogs 批量删除操作日志

func (*OperationLogService) CreateSysUserLog

func (s *OperationLogService) CreateSysUserLog(c *gin.Context, userID int64, username string, module, action, description string, startTime time.Time) error

CreateSysUserLog 创建系统用户操作日志

func (*OperationLogService) CreateSysUserLogWithContext

func (s *OperationLogService) CreateSysUserLogWithContext(ctx context.Context, c *gin.Context, userID int64, username string, module, action, description string, startTime time.Time) error

CreateSysUserLogWithContext 使用上下文创建系统用户操作日志

func (*OperationLogService) CreateUserLog

func (s *OperationLogService) CreateUserLog(c *gin.Context, userID int64, username string, module, action, description string, startTime time.Time) error

CreateUserLog 创建普通用户操作日志

func (*OperationLogService) CreateUserLogWithContext

func (s *OperationLogService) CreateUserLogWithContext(ctx context.Context, c *gin.Context, userID int64, username string, module, action, description string, startTime time.Time) error

CreateUserLogWithContext 使用上下文创建普通用户操作日志

func (*OperationLogService) DeleteOperationLog

func (s *OperationLogService) DeleteOperationLog(ctx context.Context, id uint) error

DeleteOperationLog 删除操作日志

func (*OperationLogService) GetOperationLogs

func (s *OperationLogService) GetOperationLogs(ctx context.Context, query *v1.OperationLogQuery) (*PageResult, error)

GetOperationLogs 分页获取操作日志

type PageResult

type PageResult struct {
	Total    int64                `json:"total"`     // 总记录数
	Page     int                  `json:"page"`      // 当前页码
	PageSize int                  `json:"page_size"` // 每页大小
	List     []model.OperationLog `json:"list"`      // 数据列表
}

PageResult 分页结果

type PermissionService

type PermissionService struct {
	// contains filtered or unexported fields
}

PermissionService 权限服务

func NewPermissionService

func NewPermissionService(params ServiceParams, casbinService casbin.Service) *PermissionService

NewPermissionService 创建权限服务

func (*PermissionService) AssignPermissionToRole

func (s *PermissionService) AssignPermissionToRole(ctx context.Context, roleID uint, permissionIDs []uint) error

AssignPermissionToRole 为角色分配权限

func (*PermissionService) AssignRolesToUser

func (s *PermissionService) AssignRolesToUser(ctx context.Context, userID string, roleIDs []uint) error

AssignRolesToUser 为用户分配角色

func (*PermissionService) CheckPermission

func (s *PermissionService) CheckPermission(ctx context.Context, userID string, obj string, act string) (bool, error)

CheckPermission 检查权限

func (*PermissionService) CreatePermission

func (s *PermissionService) CreatePermission(ctx context.Context, permission *model.Permission) error

CreatePermission 创建权限

func (*PermissionService) DeletePermission

func (s *PermissionService) DeletePermission(ctx context.Context, id uint) error

DeletePermission 删除权限

func (*PermissionService) GetPermission

func (s *PermissionService) GetPermission(ctx context.Context, id uint64) (*model.Permission, error)

GetPermission 获取权限详情

func (*PermissionService) GetPermissionByID

func (s *PermissionService) GetPermissionByID(ctx context.Context, id uint) (*model.Permission, error)

GetPermissionByID 获取权限详情

func (*PermissionService) GetPermissions

func (s *PermissionService) GetPermissions(ctx context.Context) ([]model.Permission, error)

GetPermissions 获取权限列表

func (*PermissionService) GetPermissionsByRoleID

func (s *PermissionService) GetPermissionsByRoleID(ctx context.Context, roleID uint) ([]model.Permission, error)

GetPermissionsByRoleID 获取角色的权限列表

func (*PermissionService) GetPermissionsByUserID

func (s *PermissionService) GetPermissionsByUserID(ctx context.Context, userID uint) ([]model.Permission, error)

GetPermissionsByUserID 获取用户的权限列表

func (*PermissionService) GetUserMenus

func (s *PermissionService) GetUserMenus(ctx context.Context, userID int64) ([]*model.MenuTree, error)

GetUserMenus 获取用户菜单

func (*PermissionService) GetUserRoles

func (s *PermissionService) GetUserRoles(ctx context.Context, userID string) ([]model.Role, error)

GetUserRoles 获取用户角色

func (*PermissionService) UpdatePermission

func (s *PermissionService) UpdatePermission(ctx context.Context, permission *model.Permission) error

UpdatePermission 更新权限

func (*PermissionService) UpdatePermissionSettings

func (s *PermissionService) UpdatePermissionSettings(ctx context.Context, enabled, defaultAllow bool) error

UpdatePermissionSettings 更新权限系统设置

type PermissionServiceInterface

type PermissionServiceInterface interface {
	// 权限相关方法
	CreatePermission(ctx context.Context, permission *model.Permission) error
	UpdatePermission(ctx context.Context, permission *model.Permission) error
	DeletePermission(ctx context.Context, id uint) error
	GetPermissionByID(ctx context.Context, id uint) (*model.Permission, error)
	GetPermissions(ctx context.Context) ([]model.Permission, error)
	CheckPermission(ctx context.Context, userID string, obj string, act string) (bool, error)
	GetUserMenus(ctx context.Context, userID int64) ([]*model.MenuTree, error)

	// 扩展方法
	UpdatePermissionSettings(ctx context.Context, enabled bool, defaultAllow bool) error
	GetPermission(ctx context.Context, id uint64) (*model.Permission, error)
	GetPermissionsByUserID(ctx context.Context, userID uint) ([]model.Permission, error)
	GetUserRoles(ctx context.Context, userID string) ([]model.Role, error)
	AssignRolesToUser(ctx context.Context, userID string, roleIDs []uint) error
	AssignPermissionToRole(ctx context.Context, roleID uint, permissionIDs []uint) error
	GetPermissionsByRoleID(ctx context.Context, roleID uint) ([]model.Permission, error)
}

PermissionServiceInterface 权限服务接口

func ProvidePermissionService

func ProvidePermissionService(params ServiceParams, casbinService casbin.Service) PermissionServiceInterface

ProvidePermissionService 根据用户模式提供权限服务

type RoleService

type RoleService struct {
	// contains filtered or unexported fields
}

RoleService 角色服务

func NewRoleService

func NewRoleService(params ServiceParams, casbinService casbin.Service) *RoleService

NewRoleService 创建角色服务

func (*RoleService) AssignMenusToRole

func (s *RoleService) AssignMenusToRole(ctx context.Context, roleID uint, menuIDs []uint) error

AssignMenusToRole 为角色分配菜单

func (*RoleService) AssignRolesToUser

func (s *RoleService) AssignRolesToUser(ctx context.Context, userID int64, roleIDs []uint) error

AssignRolesToUser 为用户分配角色

func (*RoleService) CreateRole

func (s *RoleService) CreateRole(ctx context.Context, role *model.Role) error

CreateRole 创建角色

func (*RoleService) DeleteRole

func (s *RoleService) DeleteRole(ctx context.Context, id uint) error

DeleteRole 删除角色

func (*RoleService) DeleteRolePermission

func (s *RoleService) DeleteRolePermission(ctx context.Context, roleCode string, obj string, act string) error

删除角色的权限策略

func (*RoleService) GetRoleByID

func (s *RoleService) GetRoleByID(ctx context.Context, id uint) (*model.Role, error)

GetRoleByID 根据ID获取角色

func (*RoleService) GetRoleMenuIDs

func (s *RoleService) GetRoleMenuIDs(ctx context.Context, roleID uint) ([]uint, error)

GetRoleMenuIDs 获取角色菜单ID列表

func (*RoleService) GetRoles

func (s *RoleService) GetRoles(ctx context.Context) ([]model.Role, error)

GetRoles 获取角色列表

func (*RoleService) GetUserRoleIDs

func (s *RoleService) GetUserRoleIDs(ctx context.Context, userID uint) ([]uint, error)

GetUserRoleIDs 获取用户角色ID列表

func (*RoleService) SetRolePermission

func (s *RoleService) SetRolePermission(ctx context.Context, roleCode string, obj string, act string) error

为角色设置权限策略

func (*RoleService) UpdateRole

func (s *RoleService) UpdateRole(ctx context.Context, role *model.Role) error

UpdateRole 更新角色

type RoleServiceInterface

type RoleServiceInterface interface {
	// 角色相关方法
	CreateRole(ctx context.Context, role *model.Role) error
	UpdateRole(ctx context.Context, role *model.Role) error
	DeleteRole(ctx context.Context, id uint) error
	GetRoleByID(ctx context.Context, id uint) (*model.Role, error)
	GetRoles(ctx context.Context) ([]model.Role, error)
	AssignRolesToUser(ctx context.Context, userID int64, roleIDs []uint) error
	GetUserRoleIDs(ctx context.Context, userID uint) ([]uint, error)
	GetRoleMenuIDs(ctx context.Context, roleID uint) ([]uint, error)
	AssignMenusToRole(ctx context.Context, roleID uint, menuIDs []uint) error
	// 权限相关方法
	SetRolePermission(ctx context.Context, roleCode, obj, act string) error
	DeleteRolePermission(ctx context.Context, roleCode, obj, act string) error
}

RoleServiceInterface 角色服务接口

func ProvideRoleService

func ProvideRoleService(params ServiceParams, casbinService casbin.Service) RoleServiceInterface

ProvideRoleService 根据用户模式提供角色服务

type SeparateAdminUserService

type SeparateAdminUserService struct {
	// contains filtered or unexported fields
}

SeparateAdminUserService 分离模式下的管理员用户服务

func NewSeparateAdminUserService

func NewSeparateAdminUserService(params ServiceParams, casbinService casbin.Service, authService *AuthService) *SeparateAdminUserService

NewSeparateAdminUserService 创建分离模式下的管理员用户服务

func (*SeparateAdminUserService) GetUserInfo

func (s *SeparateAdminUserService) GetUserInfo(ctx context.Context, id int64) (interface{}, error)

GetUserInfo 获取管理员用户信息

func (*SeparateAdminUserService) Login

func (s *SeparateAdminUserService) Login(ctx context.Context, username, password string, ip string) (*v1.LoginResponse, error)

Login 管理员登录

func (*SeparateAdminUserService) RefreshToken

func (s *SeparateAdminUserService) RefreshToken(ctx context.Context, refreshToken string) (*v1.LoginResponse, error)

RefreshToken 刷新令牌

func (*SeparateAdminUserService) VerifyPassword

func (s *SeparateAdminUserService) VerifyPassword(password, hashedPassword string) bool

VerifyPassword 验证用户密码

type SeparateUserService

type SeparateUserService struct {
	// contains filtered or unexported fields
}

SeparateUserService 分离模式下的用户服务实现

func NewSeparateUserService

func NewSeparateUserService(params ServiceParams, authService *AuthService) *SeparateUserService

NewSeparateUserService 创建分离模式下的用户服务

func (*SeparateUserService) ChangePassword

func (s *SeparateUserService) ChangePassword(ctx context.Context, id int64, oldPassword, newPassword string) error

ChangePassword 修改密码

func (*SeparateUserService) GetUserByID

func (s *SeparateUserService) GetUserByID(ctx context.Context, id int64) (*model.User, error)

GetUserByID 根据ID获取用户信息

func (*SeparateUserService) Login

func (s *SeparateUserService) Login(ctx context.Context, username, password string, ip string) (*v1.LoginResponse, error)

Login 用户登录

func (*SeparateUserService) Register

func (s *SeparateUserService) Register(ctx context.Context, req v1.UserRegisterRequest, registerIP string, isAdmin bool) (*model.User, error)

Register 用户注册

func (*SeparateUserService) UpdateUser

func (s *SeparateUserService) UpdateUser(ctx context.Context, id uint, data map[string]any) error

UpdateUser 更新用户信息

func (*SeparateUserService) VerifyPassword

func (s *SeparateUserService) VerifyPassword(password, hashedPassword string) bool

VerifyPassword 验证用户密码

type ServiceParams

type ServiceParams struct {
	fx.In

	Config *configs.Config
	LC     fx.Lifecycle
	Logger *logger.Logger `optional:"true"`

	// 仓库
	UserRepo         *repository.UserRepo
	AdminUserRepo    *repository.AdminUserRepo
	RoleRepo         *repository.RoleRepo
	MenuRepo         *repository.MenuRepo
	MenuButtonRepo   *repository.MenuButtonRepo
	PermissionRepo   *repository.PermissionRepo
	OperationLogRepo *repository.OperationLogRepo
	FileRepo         *repository.FileRepo
	APIRepo          *repository.APIRepo
	AdminRepo        *repository.AdminRepo
}

ServiceParams 服务参数

type SimpleAdminUserService

type SimpleAdminUserService struct {
	// contains filtered or unexported fields
}

SimpleAdminUserService 简单模式下的管理员用户服务

func NewSimpleAdminUserService

func NewSimpleAdminUserService(params ServiceParams, authService *AuthService) *SimpleAdminUserService

NewSimpleAdminUserService 创建简单模式下的管理员用户服务

func (*SimpleAdminUserService) GetUserInfo

func (s *SimpleAdminUserService) GetUserInfo(ctx context.Context, id int64) (interface{}, error)

GetUserInfo 获取管理员用户信息

func (*SimpleAdminUserService) Login

func (s *SimpleAdminUserService) Login(ctx context.Context, username, password string, ip string) (*v1.LoginResponse, error)

Login 管理员登录

func (*SimpleAdminUserService) RefreshToken

func (s *SimpleAdminUserService) RefreshToken(ctx context.Context, refreshToken string) (*v1.LoginResponse, error)

RefreshToken 刷新令牌

func (*SimpleAdminUserService) VerifyPassword

func (s *SimpleAdminUserService) VerifyPassword(password, hashedPassword string) bool

VerifyPassword 验证用户密码

type SimpleUserService

type SimpleUserService struct {
	// contains filtered or unexported fields
}

SimpleUserService 简单模式下的用户服务实现

func NewSimpleUserService

func NewSimpleUserService(params ServiceParams, authService *AuthService) *SimpleUserService

NewSimpleUserService 创建简单模式下的用户服务

func (*SimpleUserService) ChangePassword

func (s *SimpleUserService) ChangePassword(ctx context.Context, id int64, oldPassword, newPassword string) error

ChangePassword 修改密码

func (*SimpleUserService) GetUserByID

func (s *SimpleUserService) GetUserByID(ctx context.Context, id int64) (*model.User, error)

GetUserByID 根据ID获取用户信息

func (*SimpleUserService) Login

func (s *SimpleUserService) Login(ctx context.Context, username, password string, ip string) (*v1.LoginResponse, error)

Login 用户登录

func (*SimpleUserService) Register

func (s *SimpleUserService) Register(ctx context.Context, req v1.UserRegisterRequest, registerIP string, isAdmin bool) (*model.User, error)

Register 用户注册

func (*SimpleUserService) UpdateUser

func (s *SimpleUserService) UpdateUser(ctx context.Context, id uint, data map[string]any) error

UpdateUser 更新用户信息

func (*SimpleUserService) VerifyPassword

func (s *SimpleUserService) VerifyPassword(password, hashedPassword string) bool

VerifyPassword 验证用户密码

type UserService

type UserService struct {
	// contains filtered or unexported fields
}

UserService 普通用户服务

func NewUserService

func NewUserService(params ServiceParams, authService *AuthService) *UserService

NewUserService 创建普通用户服务

func (*UserService) ChangePassword

func (s *UserService) ChangePassword(ctx context.Context, id int64, oldPassword, newPassword string) error

ChangePassword 修改密码

func (*UserService) GetUserByID

func (s *UserService) GetUserByID(ctx context.Context, id int64) (*model.User, error)

GetUserByID 根据ID获取用户信息

func (*UserService) Login

func (s *UserService) Login(ctx context.Context, username, password string, ip string) (*v1.LoginResponse, error)

Login 用户登录

func (*UserService) Register

func (s *UserService) Register(ctx context.Context, req v1.UserRegisterRequest, registerIP string, isAdmin bool) (*model.User, error)

Register 用户注册

func (*UserService) RegisterAdmin

func (s *UserService) RegisterAdmin(ctx context.Context, req v1.UserRegisterRequest, registerIP string) (*model.User, error)

RegisterAdmin 注册管理员用户

func (*UserService) UpdateUser

func (s *UserService) UpdateUser(ctx context.Context, id uint, data map[string]any) error

UpdateUser 更新用户信息

func (*UserService) VerifyPassword

func (s *UserService) VerifyPassword(password, hashedPassword string) bool

VerifyPassword 验证用户密码

type UserServiceInterface

type UserServiceInterface interface {
	// 用户相关方法
	GetUserByID(ctx context.Context, id int64) (*model.User, error)
	Register(ctx context.Context, req v1.UserRegisterRequest, registerIP string, isAdmin bool) (*model.User, error)
	Login(ctx context.Context, username, password string, ip string) (*v1.LoginResponse, error)
	UpdateUser(ctx context.Context, id uint, data map[string]any) error
	ChangePassword(ctx context.Context, id int64, oldPassword, newPassword string) error
}

UserServiceInterface 用户服务接口 定义用户服务的通用方法,不同模式下的实现可能不同

func ProvideUserService

func ProvideUserService(params ServiceParams, authService *AuthService) UserServiceInterface

ProvideUserService 根据用户模式提供用户服务

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL