sys_service

package
v0.5.32 Latest Latest
Warning

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

Go to latest
Published: Nov 8, 2023 License: MIT Imports: 11 Imported by: 5

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func RegisterArea

func RegisterArea(i IArea)

func RegisterCaptcha

func RegisterCaptcha(i ICaptcha)

func RegisterCasbin

func RegisterCasbin(i ICasbin)

func RegisterFile

func RegisterFile(i IFile)

func RegisterJwt

func RegisterJwt(i IJwt)

func RegisterMiddleware

func RegisterMiddleware(i IMiddleware)

func RegisterSdkAliyun

func RegisterSdkAliyun(i ISdkAliyun)

func RegisterSdkBaidu

func RegisterSdkBaidu(i ISdkBaidu)

func RegisterSdkCtyun

func RegisterSdkCtyun(i ISdkCtyun)

func RegisterSdkHuawei

func RegisterSdkHuawei(i ISdkHuawei)

func RegisterSdkTencent

func RegisterSdkTencent(i ISdkTencent)

func RegisterSessionError

func RegisterSessionError(i ISessionError)

func RegisterSysAudit

func RegisterSysAudit(i ISysAudit)

func RegisterSysAuth

func RegisterSysAuth(i ISysAuth)

func RegisterSysInvite added in v0.5.7

func RegisterSysInvite(i ISysInvite)

func RegisterSysLogs

func RegisterSysLogs(i ISysLogs)

func RegisterSysMails added in v0.4.17

func RegisterSysMails(i ISysMails)

func RegisterSysMenu

func RegisterSysMenu(i ISysMenu)

func RegisterSysOrganization

func RegisterSysOrganization(i ISysOrganization)

func RegisterSysPermission

func RegisterSysPermission(i ISysPermission)

func RegisterSysPersonLicense added in v0.4.13

func RegisterSysPersonLicense(i ISysPersonLicense)

func RegisterSysRole

func RegisterSysRole(i ISysRole)

func RegisterSysSession

func RegisterSysSession(i ISysSession)

func RegisterSysSettings added in v0.4.2

func RegisterSysSettings(i ISysSettings)

func RegisterSysSms

func RegisterSysSms(i ISysSms)

func RegisterSysUser

func RegisterSysUser(i ISysUser)

Types

type IArea

type IArea interface {
	// GetAreaListByParentId 获取属于父级ID的地区列表
	GetAreaListByParentId(ctx context.Context, parentId int64) (*sys_model.AreaListRes, error)
	// GetAreaById 根据ID获取区域信息
	GetAreaById(ctx context.Context, id int64) *sys_entity.SysArea
	// GetAreaByCode 根据区域编号获取区域信息
	GetAreaByCode(ctx context.Context, areaCode string) *sys_entity.SysArea
}

func Area

func Area() IArea

type ICaptcha

type ICaptcha interface {
	// MakeCaptcha 创建验证码,直接输出验证码图片内容到HTTP Response.
	MakeCaptcha(ctx context.Context) error
	// VerifyAndClear 校验验证码,并清空缓存的验证码信息
	VerifyAndClear(_ *ghttp.Request, value string) bool
}

func Captcha

func Captcha() ICaptcha

type ICasbin

type ICasbin interface {
	// InstallHook 安装Hook
	InstallHook(userType sys_enum.UserType, hookFunc sys_hook.CasbinHookFunc) int64
	// UnInstallHook 卸载Hook
	UnInstallHook(savedHookId int64)
	// CleanAllHook 清除所有Hook
	CleanAllHook()
	Check() error
	Enforcer() *casbin.Enforcer
	// AddRoleForUserInDomain 添加用户角色关联关系
	AddRoleForUserInDomain(userName string, roleName string, domain string) (bool, error)
	// DeleteRoleForUserInDomain 删除用户角色关联关系
	DeleteRoleForUserInDomain(userName, roleName string, domain string) (bool, error)
	// DeleteRolesForUser 清空用户角色关联关系
	DeleteRolesForUser(userName string, domain string) (bool, error)
	// AddPermissionForUser 添加角色与资源关系
	AddPermissionForUser(roleName, path, method string) (bool, error)
	// AddPermissionsForUser 添加角色与资源关系
	AddPermissionsForUser(roleName string, path []string) (bool, error)
	// DeletePermissionForUser 删除角色与资源关系
	DeletePermissionForUser(roleName, path, method string) (bool, error)
	// DeletePermissionsForUser 清空角色与资源关系
	DeletePermissionsForUser(roleName string) (bool, error)
	// EnforceCheck 校验  确认访问权限
	EnforceCheck(userName, path, role, method interface{}) (bool, error)
}

func Casbin

func Casbin() ICasbin

type IFile

type IFile interface {
	// InstallHook 安装Hook
	InstallHook(state sys_enum.UploadEventState, hookFunc sys_hook.FileHookFunc) int64
	// UnInstallHook 卸载Hook
	UnInstallHook(savedHookId int64)
	// CleanAllHook 清除Hook
	CleanAllHook()
	// Upload 统一上传文件
	Upload(ctx context.Context, in sys_model.FileUploadInput) (*sys_entity.SysFile, error)
	// GetUploadFile 根据上传ID 获取上传文件信息
	GetUploadFile(ctx context.Context, uploadId int64, userId int64, message ...string) (*sys_model.FileInfo, error)
	// SaveFile 保存文件
	SaveFile(ctx context.Context, storageAddr string, info *sys_model.FileInfo) (*sys_model.FileInfo, error)
	// UploadIDCard 上传身份证照片
	UploadIDCard(ctx context.Context, in sys_model.OCRIDCardFileUploadInput) (*sys_model.IDCardWithOCR, error)
	// UploadBankCard 上传银行卡照片
	UploadBankCard(ctx context.Context, in sys_model.BankCardWithOCRInput) (*sys_model.BankCardWithOCR, error)
	// UploadBusinessLicense 上传营业执照照片
	UploadBusinessLicense(ctx context.Context, in sys_model.OCRBusinessLicense) (*sys_model.BusinessLicenseWithOCR, error)
	// DownLoadFile 下载文件
	DownLoadFile(ctx context.Context, savePath string, url string) (string, error)
	// GetUrlById 通过id返回图片url
	GetUrlById(id int64) string
	// GetFileById 根据id获取并返回文件信息
	GetFileById(ctx context.Context, id int64, errorMessage string) (*sys_model.FileInfo, error)
	// MakeFileUrl 图像id换取url: 拼接三个参数,缓存fileInfo、然后返回url + 三参
	MakeFileUrl(ctx context.Context, id int64) string
	// MakeFileUrlByPath 文件path换取url: 拼接三个参数,缓存签名数据、然后返回url + 三参
	MakeFileUrlByPath(ctx context.Context, path string) string
	// GetFile 获取图片 公开  (srcBase64 + srcMd5 + fileId) ==> md5加密
	GetFile(ctx context.Context, sign, srcBase64 string, id int64, cId int64) (*sys_model.FileInfo, error)
	// UseFile 用图片
	UseFile(ctx context.Context, src string)
}

func File

func File() IFile

type IJwt

type IJwt interface {
	// InstallHook 安装Hook
	InstallHook(userType sys_enum.UserType, hookFunc sys_hook.JwtHookFunc) int64
	// UnInstallHook 卸载Hook
	UnInstallHook(savedHookId int64)
	// CleanAllHook 清除所有Hook
	CleanAllHook()
	// GenerateToken 创建一个token
	GenerateToken(ctx context.Context, user *sys_model.SysUser) (response *sys_model.TokenInfo, err error)
	// CreateToken 创建一个token
	CreateToken(claims *sys_model.JwtCustomClaims) (string, error)
	// RefreshToken 刷新Token,并发安全
	RefreshToken(oldToken string, claims *sys_model.JwtCustomClaims) (string, error)
	Middleware(r *ghttp.Request)
	MakeSession(ctx context.Context, tokenString string) *sys_model.JwtCustomClaims
}

func Jwt

func Jwt() IJwt

type IMiddleware

type IMiddleware interface {
	// Auth 通讯鉴权
	Auth(r *ghttp.Request)
	// CTX 自定义上下文对象
	CTX(r *ghttp.Request)
	// CORS 允许接口跨域请求
	CORS(r *ghttp.Request)
	// ResponseHandler 响应函数
	ResponseHandler(r *ghttp.Request)
}

func Middleware

func Middleware() IMiddleware

type ISdkAliyun

type ISdkAliyun interface {
	// GetAliyunSdkToken 通过SDK获取Token (SDK获取方式)
	GetAliyunSdkToken(ctx context.Context, tokenInfo sys_model.AliyunSdkConfToken, err error)
	// GetAliyunSdkConfToken 根据 identifier 查询百度SDK应用配置和Token信息
	GetAliyunSdkConfToken(ctx context.Context, identifier string) (tokenInfo *sys_model.AliyunSdkConfToken, err error)
	// GetAliyunSdkConfList 获取阿里云SDK应用配置列表
	GetAliyunSdkConfList(ctx context.Context) ([]*sys_model.AliyunSdkConf, error)
	// GetAliyunSdkConf 根据identifier标识获取SDK配置信息
	GetAliyunSdkConf(ctx context.Context, identifier string) (tokenInfo *sys_model.AliyunSdkConf, err error)
	// SaveAliyunSdkConf 保存SDK应用配信息, isCreate判断是更新还是新建
	SaveAliyunSdkConf(ctx context.Context, info *sys_model.AliyunSdkConf, isCreate bool) (*sys_model.AliyunSdkConf, error)
	// DeleteAliyunSdkConf 删除百度SDK应用配置信息
	DeleteAliyunSdkConf(ctx context.Context, identifier string) (bool, error)
}

func SdkAliyun

func SdkAliyun() ISdkAliyun

type ISdkBaidu

type ISdkBaidu interface {
	// GetBaiduSdkConfToken 根据 identifier 查询百度SDK应用配置和Token信息
	GetBaiduSdkConfToken(ctx context.Context, identifier string) (tokenInfo *sys_model.BaiduSdkConfToken, err error)
	// GetBaiduSdkConfList 获取百度SDK应用配置列表
	GetBaiduSdkConfList(ctx context.Context) ([]*sys_model.BaiduSdkConf, error)
	// GetBaiduSdkConf 根据 identifier 查询百度SDK应用配置信息
	GetBaiduSdkConf(ctx context.Context, identifier string) (*sys_model.BaiduSdkConf, error)
	// SaveBaiduSdkConf 保存百度SDK应用配信息
	SaveBaiduSdkConf(ctx context.Context, info *sys_model.BaiduSdkConf, isCreate bool) (*sys_model.BaiduSdkConf, error)
	// DeleteBaiduSdkConf 删除百度SDK应用配置信息
	DeleteBaiduSdkConf(ctx context.Context, identifier string) (bool, error)
	// OCRBankCard OCR识别银行卡
	OCRBankCard(ctx context.Context, imageBase64 string) (*sys_model.OCRBankCard, error)
	// OCRIDCard OCR识别身份证
	OCRIDCard(ctx context.Context, imageBase64 string, detectRisk string, idCardSide string) (*sys_model.BaiduSdkOCRIDCard, error)
	// OCRBusinessLicense OCR识别营业执照
	OCRBusinessLicense(ctx context.Context, imageBase64 string) (*sys_model.BusinessLicenseOCR, error)
}

func SdkBaidu

func SdkBaidu() ISdkBaidu

type ISdkCtyun

type ISdkCtyun interface {
	// GetCtyunSdkConfList 获取天翼云SDK应用配置列表
	GetCtyunSdkConfList(ctx context.Context) ([]*sys_model.CtyunSdkConf, error)
	// GetCtyunSdkConf 根据identifier标识获取SDK配置信息
	GetCtyunSdkConf(ctx context.Context, identifier string) (tokenInfo *sys_model.CtyunSdkConf, err error)
	// SaveCtyunSdkConf 保存天翼SDK应用配信息, isCreate判断是更新还是新建
	SaveCtyunSdkConf(ctx context.Context, info *sys_model.CtyunSdkConf, isCreate bool) (*sys_model.CtyunSdkConf, error)
	// DeleteCtyunSdkConf 删除天翼SDK应用配置信息
	DeleteCtyunSdkConf(ctx context.Context, identifier string) (bool, error)
}

func SdkCtyun

func SdkCtyun() ISdkCtyun

type ISdkHuawei

type ISdkHuawei interface {
	// GetHuaweiSdkConfToken 根据 identifier 查询华为SDK应用配置和Token信息
	GetHuaweiSdkConfToken(ctx context.Context, identifier string) (tokenInfo *sys_model.HuaweiSdkConfToken, err error)
	// GetHuaweiSdkConfList 获取华为云SDK应用配置列表
	GetHuaweiSdkConfList(ctx context.Context) ([]*sys_model.HuaweiSdkConf, error)
	// GetHuaweiSdkConf 根据identifier标识获取SDK配置信息
	GetHuaweiSdkConf(ctx context.Context, identifier string) (tokenInfo *sys_model.HuaweiSdkConf, err error)
	// SaveHuaweiSdkConf 保存华为SDK应用配信息, isCreate判断是更新还是新建
	SaveHuaweiSdkConf(ctx context.Context, info *sys_model.HuaweiSdkConf, isCreate bool) (*sys_model.HuaweiSdkConf, error)
	// DeleteHuaweiSdkConf 删除华为SDK应用配置信息
	DeleteHuaweiSdkConf(ctx context.Context, identifier string) (bool, error)
}

func SdkHuawei

func SdkHuawei() ISdkHuawei

type ISdkTencent

type ISdkTencent interface {
	// GetTencentSdkConfToken 根据 identifier 查询腾讯SDK应用配置和Token信息
	GetTencentSdkConfToken(ctx context.Context, identifier string) (tokenInfo *sys_model.TencentSdkConfToken, err error)
	// GetTencentSdkConfList 获取腾讯云SDK应用配置列表
	GetTencentSdkConfList(ctx context.Context) ([]*sys_model.TencentSdkConf, error)
	// GetTencentSdkConf 根据identifier标识获取SDK配置信息
	GetTencentSdkConf(ctx context.Context, identifier string) (tokenInfo *sys_model.TencentSdkConf, err error)
	// SaveTencentSdkConf 保存腾讯SDK应用配信息, isCreate判断是更新还是新建
	SaveTencentSdkConf(ctx context.Context, info *sys_model.TencentSdkConf, isCreate bool) (*sys_model.TencentSdkConf, error)
	// DeleteTencentSdkConf 删除腾讯SDK应用配置信息
	DeleteTencentSdkConf(ctx context.Context, identifier string) (bool, error)
}

func SdkTencent

func SdkTencent() ISdkTencent

type ISessionError

type ISessionError interface {
	// Append 追加错误至错误队列
	Append(ctx context.Context, error error) error
	// HasError 错误队列中检索指定错误
	HasError(ctx context.Context, err error) (response bool)
	// Iterator 获取错误信息队列
	Iterator(ctx context.Context, f func(k int, err error) bool)
}

func SessionError

func SessionError() ISessionError

type ISysAudit

type ISysAudit interface {
	// InstallHook 安装Hook
	InstallHook(state sys_enum.AuditEvent, category int, hookFunc sys_hook.AuditHookFunc) int64
	// UnInstallHook 卸载Hook
	UnInstallHook(savedHookId int64)
	// CleanAllHook 清除所有Hook
	CleanAllHook()
	// QueryAuditList 获取审核信息列表
	QueryAuditList(ctx context.Context, filter *base_model.SearchParams) (*sys_model.AuditListRes, error)
	// GetAuditById 根据ID获取审核信息
	GetAuditById(ctx context.Context, id int64) *sys_entity.SysAudit
	// GetAuditByLatestUnionMainId 获取最新的业务个人审核信息
	GetAuditByLatestUnionMainId(ctx context.Context, unionMainId int64) *sys_entity.SysAudit
	// GetAuditByLatestUserId 获取最新的业务个人审核信息
	GetAuditByLatestUserId(ctx context.Context, userId int64) *sys_entity.SysAudit
	// CreateAudit 创建审核信息
	CreateAudit(ctx context.Context, info sys_model.CreateAudit) (*sys_entity.SysAudit, error)
	// UpdateAudit 处理审核信息
	UpdateAudit(ctx context.Context, id int64, state int, reply string, auditUserId int64) (bool, error)
}

func SysAudit

func SysAudit() ISysAudit

type ISysAuth

type ISysAuth interface {
	// InstallInviteRegisterHook 订阅邀约注册Hook
	InstallInviteRegisterHook(actionType sys_enum.InviteType, hookFunc sys_hook.InviteRegisterHookFunc)
	// InstallHook 安装Hook
	InstallHook(actionType sys_enum.AuthActionType, userType sys_enum.UserType, hookFunc sys_hook.AuthHookFunc) int64
	// UnInstallHook 卸载Hook
	UnInstallHook(savedHookId int64)
	// CleanAllHook 清除所有Hook
	CleanAllHook()
	// Login 登陆
	Login(ctx context.Context, req sys_model.LoginInfo, needCaptcha ...bool) (*sys_model.LoginRes, error)
	// InnerLogin 内部登录,无需校验验证码和密码
	InnerLogin(ctx context.Context, user *sys_model.SysUser) (*sys_model.TokenInfo, error)
	// LoginByMobile 手机号 + 验证码登陆
	LoginByMobile(ctx context.Context, info sys_model.LoginByMobileInfo) (*sys_model.LoginByMobileRes, error)
	// LoginByMail 邮箱 + 密码登陆 (如果指定用户名,代表明确知道要登陆的是哪一个账号)
	LoginByMail(ctx context.Context, info sys_model.LoginByMailInfo) (*sys_model.LoginByMailRes, error)
	// Register 注册账号 (用户名+密码+图形验证码)
	Register(ctx context.Context, info sys_model.SysUserRegister) (*sys_model.SysUser, error)
	// RegisterByMobileOrMail 注册账号 (用户名+密码+ 手机号+验证码 或者 用户名+密码+ 邮箱+验证码)
	RegisterByMobileOrMail(ctx context.Context, info sys_model.SysUserRegisterByMobileOrMail) (res *sys_model.SysUser, err error)
	// ForgotUserName 忘记用户名,返回用户列表
	ForgotUserName(ctx context.Context, captcha, mobileOrEmail string) (res *sys_model.SysUserListRes, err error)
	// ForgotPassword 忘记密码
	ForgotPassword(ctx context.Context, info sys_model.ForgotPassword) (int64, error)
	// ResetPassword 重置密码
	ResetPassword(ctx context.Context, password string, confirmPassword string, idKey string) (bool, error)
}

func SysAuth

func SysAuth() ISysAuth

type ISysInvite added in v0.5.7

type ISysInvite interface {
	InstallInviteStateHook(actionType sys_enum.InviteState, hookFunc sys_hook.InviteStateHookFunc)
	// GetInviteById 根据id获取邀约
	GetInviteById(ctx context.Context, id int64) (*sys_model.InviteRes, error)
	// QueryInviteList 查询邀约|列表
	QueryInviteList(ctx context.Context, filter *base_model.SearchParams) (*sys_model.InviteListRes, error)
	// CreateInvite 创建邀约信息
	CreateInvite(ctx context.Context, info *sys_model.Invite) (*sys_model.InviteRes, error)
	// DeleteInvite 删除邀约信息
	DeleteInvite(ctx context.Context, inviteId int64) (bool, error)
	// SetInviteState 修改邀约信息状态
	SetInviteState(ctx context.Context, id int64, state int) (bool, error)
	// SetInviteNumber 修改邀约剩余次数
	SetInviteNumber(ctx context.Context, id int64, num int, isAdd bool) (res bool, err error)
}

func SysInvite added in v0.5.7

func SysInvite() ISysInvite

type ISysLogs

type ISysLogs interface {
	// Write 写日志
	Write(ctx context.Context, err error, info sys_entity.SysLogs) error
	// Write 写错误日志
	Error(ctx context.Context, err error, info sys_entity.SysLogs) error
	// ErrorSimple 写错误日志
	ErrorSimple(ctx context.Context, err error, context string, category string) error
	// Info 写日志信息
	Info(ctx context.Context, err error, info sys_entity.SysLogs) error
	// InfoSimple 写日志信息
	InfoSimple(ctx context.Context, err error, context string, category string) error
	// Warn 写警示日志
	Warn(ctx context.Context, err error, info sys_entity.SysLogs) error
	// WarnSimple 写警示日志
	WarnSimple(ctx context.Context, err error, context string, category string) error
}

func SysLogs

func SysLogs() ISysLogs

type ISysMails added in v0.4.17

type ISysMails interface {
	// SendCaptcha 发送邮件验证码
	SendCaptcha(ctx context.Context, mailTo string, typeIdentifier int) (res bool, err error)
	// Verify 校验验证码
	Verify(ctx context.Context, email string, captcha string, typeIdentifier ...base_enum.CaptchaType) (bool, error)
}

func SysMails added in v0.4.17

func SysMails() ISysMails

type ISysMenu

type ISysMenu interface {
	// GetMenuById 根据ID获取菜单信息
	GetMenuById(ctx context.Context, menuId int64) (*sys_entity.SysMenu, error)
	// CreateMenu 创建菜单
	CreateMenu(ctx context.Context, info *sys_model.SysMenu) (*sys_entity.SysMenu, error)
	// UpdateMenu 更新菜单
	UpdateMenu(ctx context.Context, info *sys_model.UpdateSysMenu) (*sys_entity.SysMenu, error)
	// SaveMenu 新增或保存菜单信息,并自动更新对应的权限信息
	SaveMenu(ctx context.Context, info *sys_model.SysMenu) (*sys_entity.SysMenu, error)
	// DeleteMenu 删除菜单,删除的时候要关联删除sys_permission,有子菜单时禁止删除。
	DeleteMenu(ctx context.Context, id int64) (bool, error)
	// MakeMenuTree 构建菜单树
	MakeMenuTree(ctx context.Context, parentId int64, isMakeNodeFun func(ctx context.Context, cruuentMenu *sys_entity.SysMenu) bool) ([]*sys_model.SysMenuTreeRes, error)
	// GetMenuTree 根据ID获取下级菜单信息,返回菜单树,并缓存
	GetMenuTree(ctx context.Context, parentId int64) (sys_model.SysMenuTreeListRes, error)
	// GetMenuList 根据ID获取下级菜单列表,IsRecursive代表是否需要返回下级
	GetMenuList(ctx context.Context, parentId int64, IsRecursive bool, limitChildrenIds ...int64) ([]*sys_entity.SysMenu, error)
}

func SysMenu

func SysMenu() ISysMenu

type ISysOrganization

type ISysOrganization interface {
	// QueryOrganizationList 获取组织架构信息列表
	QueryOrganizationList(ctx context.Context, info base_model.SearchParams) (*sys_model.OrganizationInfoListRes, error)
	// GetOrganizationList 获取组织架构信息列表
	GetOrganizationList(ctx context.Context, parentId int64, IsRecursive bool) ([]*sys_entity.SysOrganization, int, error)
	// GetOrganizationTree 获取组织架构信息树
	GetOrganizationTree(ctx context.Context, parentId int64) ([]*sys_model.SysOrganizationTree, error)
	// CreateOrganizationInfo 创建组织架构信息
	CreateOrganizationInfo(ctx context.Context, info sys_model.SysOrganizationInfo) (*sys_entity.SysOrganization, error)
	// UpdateOrganizationInfo 更新组织架构信息
	UpdateOrganizationInfo(ctx context.Context, info sys_model.SysOrganizationInfo) (*sys_entity.SysOrganization, error)
	// SaveOrganizationInfo 创建或更新组织架构信息
	SaveOrganizationInfo(ctx context.Context, info sys_model.SysOrganizationInfo) (*sys_entity.SysOrganization, error)
	// GetOrganizationInfo 获取组织架构信息
	GetOrganizationInfo(ctx context.Context, id int64) (*sys_entity.SysOrganization, error)
	// DeleteOrganizationInfo 删除组织架构信息
	DeleteOrganizationInfo(ctx context.Context, id int64) (bool, error)
}

func SysOrganization

func SysOrganization() ISysOrganization

type ISysPermission

type ISysPermission interface {
	// GetPermissionById 根据权限ID获取权限信息
	GetPermissionById(ctx context.Context, permissionId int64) (*sys_entity.SysPermission, error)
	// GetPermissionByIdentifier 根据权限标识符Identifier获取权限信息
	GetPermissionByIdentifier(ctx context.Context, identifier string) (*sys_entity.SysPermission, error)
	// QueryPermissionList 查询权限列表
	QueryPermissionList(ctx context.Context, info base_model.SearchParams) (*sys_model.SysPermissionInfoListRes, error)
	// GetPermissionsByResource 根据资源获取权限Ids, 资源一般为用户ID、角色ID,员工ID等
	GetPermissionsByResource(ctx context.Context, resource string) ([]int64, error)
	// GetPermissionList 根据ID获取下级权限信息,返回列表
	GetPermissionList(ctx context.Context, parentId int64, IsRecursive bool) ([]*sys_entity.SysPermission, error)
	// GetPermissionTree 根据ID获取下级权限信息,返回列表树
	GetPermissionTree(ctx context.Context, parentId int64, permissionType ...int) ([]base_permission.IPermission, error)
	CreatePermission(ctx context.Context, info sys_model.SysPermission) (*sys_entity.SysPermission, error)
	UpdatePermission(ctx context.Context, info *sys_model.UpdateSysPermission) (*sys_entity.SysPermission, error)
	// SetPermissionsByResource 设置资源权限
	SetPermissionsByResource(ctx context.Context, resourceIdentifier string, permissionIds []int64) (response bool, err error)
	// ImportPermissionTree 导入权限,如果存在则忽略,递归导入权限
	ImportPermissionTree(ctx context.Context, permissionTreeArr []base_permission.IPermission, parent base_permission.IPermission) error
	// SavePermission 新增/保存权限信息
	SavePermission(ctx context.Context, info sys_model.SysPermission) (*sys_entity.SysPermission, error)
	// DeletePermission 删除权限信息
	DeletePermission(ctx context.Context, permissionId int64) (bool, error)
	// GetPermissionTreeIdByUrl 根据请求URL去匹配权限树,返回权限
	GetPermissionTreeIdByUrl(ctx context.Context, path string) (*sys_entity.SysPermission, error)
	// CheckPermission 校验权限,如果多个则需要同时满足
	CheckPermission(ctx context.Context, tree ...base_permission.IPermission) (has bool, err error)
	// CheckPermissionOr 校验权限,任意一个满足则有权限
	CheckPermissionOr(ctx context.Context, tree ...base_permission.IPermission) (has bool, err error)
	// CheckPermissionByIdentifier 通过标识符校验权限
	CheckPermissionByIdentifier(ctx context.Context, identifier string) (bool, error)
	// PermissionTypeForm 通过枚举值取枚举类型
	PermissionTypeForm(code int64, mapItems *gmap.StrAnyMap) *sys_model.SysPermission
}

func SysPermission

func SysPermission() ISysPermission

type ISysPersonLicense added in v0.4.13

type ISysPersonLicense interface {
	// GetAuditData 订阅审核数据获取Hook, 将审核数据渲染成个人资质然后进行输出
	GetAuditData(ctx context.Context, auditEvent sys_enum.AuditEvent, info *sys_entity.SysAudit) error
	// AuditChange 审核成功的处理逻辑 Hook
	AuditChange(ctx context.Context, auditEvent sys_enum.AuditEvent, info *sys_entity.SysAudit) error
	// GetLicenseById  根据ID获取个人资质认证|信息
	GetLicenseById(ctx context.Context, id int64) (*sys_entity.SysPersonLicense, error)
	// QueryLicenseList  查询个人资质认证|列表
	QueryLicenseList(ctx context.Context, search base_model.SearchParams) (*sys_model.PersonLicenseListRes, error)
	// CreateLicense  新增个人资质|信息
	CreateLicense(ctx context.Context, info sys_model.AuditPersonLicense) (*sys_entity.SysPersonLicense, error)
	// UpdateLicense  更新个人资质认证,如果是已经通过的认证,需要重新认证通过后才生效|信息
	UpdateLicense(ctx context.Context, info sys_model.AuditPersonLicense, id int64) (*sys_entity.SysPersonLicense, error)
	// GetLicenseByLatestAuditId  获取最新的审核记录Id获取资质信息
	GetLicenseByLatestAuditId(ctx context.Context, auditId int64) *sys_entity.SysPersonLicense
	// SetLicenseState  设置个人资质信息状态 -1未通过 0待审核 1通过
	SetLicenseState(ctx context.Context, id int64, state int) (bool, error)
	// SetLicenseAuditNumber  设置个人资质神审核编号
	SetLicenseAuditNumber(ctx context.Context, id int64, auditNumber string) (bool, error)
	// DeleteLicense  删除个人资质
	DeleteLicense(ctx context.Context, id int64, flag bool) (bool, error)
	// UpdateLicenseAuditLogId  设置个人资质资质关联的审核ID
	UpdateLicenseAuditLogId(ctx context.Context, id int64, latestAuditLogId int64) (bool, error)
	// Masker  资质信息脱敏
	Masker(license *sys_entity.SysPersonLicense) *sys_entity.SysPersonLicense
}

func SysPersonLicense added in v0.4.13

func SysPersonLicense() ISysPersonLicense

type ISysRole

type ISysRole interface {
	// QueryRoleList 获取角色列表
	QueryRoleList(ctx context.Context, info base_model.SearchParams, unionMainId int64) (*sys_model.RoleListRes, error)
	// GetRoleById 根据id获取角色
	GetRoleById(ctx context.Context, id int64) (*sys_entity.SysRole, error)
	// Create 创建角色信息
	Create(ctx context.Context, info sys_model.SysRole) (*sys_entity.SysRole, error)
	// Update 更新角色信息
	Update(ctx context.Context, info sys_model.SysRole) (*sys_entity.SysRole, error)
	// Save 新增或保存角色信息
	Save(ctx context.Context, info sys_model.SysRole) (*sys_entity.SysRole, error)
	// Delete 删除角色信息
	Delete(ctx context.Context, roleId int64) (bool, error)
	// SetRoleMember 设置角色用户
	SetRoleMember(ctx context.Context, roleId int64, userIds []int64, makeUserUnionMainId int64) (bool, error)
	// RemoveRoleMember 移除角色中的用户
	RemoveRoleMember(ctx context.Context, roleId int64, userId int64) (bool, error)
	// GetRoleMemberIds 获取角色下的所有用户ID
	GetRoleMemberIds(ctx context.Context, roleId int64, makeUserUnionMainId int64) ([]int64, error)
	// GetRoleMemberList 获取角色下的所有用户
	GetRoleMemberList(ctx context.Context, roleId int64, makeUserUnionMainId int64) ([]*sys_model.SysUser, error)
	// GetRoleListByUserId 获取用户拥有的所有角色
	GetRoleListByUserId(ctx context.Context, userId int64) ([]*sys_entity.SysRole, error)
	// SetRolePermissions 设置角色权限
	SetRolePermissions(ctx context.Context, roleId int64, permissionIds []int64, makeUserUnionMainId int64) (bool, error)
}

func SysRole

func SysRole() ISysRole

type ISysSession

type ISysSession interface {
	// Init 初始化上下文对象指针到上下文对象中,以便后续的请求流程中可以修改。
	Init(sessionContext *sys_model.SessionContext, r *ghttp.Request, ctx ...*context.Context)
	NewSessionCtx(ctx context.Context) context.Context
	HasCustom(ctx context.Context) bool
	// Get 获得上下文变量,如果没有设置,那么返回nil
	Get(ctx context.Context) *sys_model.SessionContext
	SetUserById(ctx *context.Context, userId int64) *sys_model.SessionContext
	// SetUser 将上下文信息设置到上下文请求中,注意是完整覆盖
	SetUser(ctx context.Context, claimsUser *sys_model.JwtCustomClaims)
}

func SysSession

func SysSession() ISysSession

type ISysSettings added in v0.4.2

type ISysSettings interface {
	// QueryList 获取列表
	QueryList(ctx context.Context, params *base_model.SearchParams, isExport bool) (*sys_model.SysSettingListRes, error)
	// GetByName 根据 name 查询百度SDK应用配置信息
	GetByName(ctx context.Context, name string, info *base_model.SearchParams) (*sys_model.SysSettingsRes, error)
	// Save 保存系统配置信息
	Save(ctx context.Context, info *sys_model.SysSettings) (*sys_model.SysSettingsRes, error)
	// Create  创建系统配置信息
	Create(ctx context.Context, info *sys_model.SysSettings) (*sys_model.SysSettingsRes, error)
	// Update  修改系统配置信息
	Update(ctx context.Context, info *sys_model.SysSettings) (*sys_model.SysSettingsRes, error)
	// Delete 删除
	Delete(ctx context.Context, name string, unionMainId int64) (bool, error)
}

func SysSettings added in v0.4.2

func SysSettings() ISysSettings

type ISysSms

type ISysSms interface {
	// Verify 校验验证码
	Verify(ctx context.Context, mobile string, captcha string, typeIdentifier ...base_enum.CaptchaType) (bool, error)
}

func SysSms

func SysSms() ISysSms

type ISysUser

type ISysUser interface {
	// InstallHook 安装Hook
	InstallHook(event sys_enum.UserEvent, hookFunc sys_hook.UserHookFunc) int64
	// UnInstallHook 卸载Hook
	UnInstallHook(savedHookId int64)
	// CleanAllHook 清除所有Hook
	CleanAllHook()
	// QueryUserList 获取用户列表
	QueryUserList(ctx context.Context, info *base_model.SearchParams, unionMainId int64, isExport bool) (response *sys_model.SysUserListRes, err error)
	// SetUserRoleIds 设置用户角色
	SetUserRoleIds(ctx context.Context, roleIds []int64, userId int64) (bool, error)
	// CreateUser 创建用户
	CreateUser(ctx context.Context, info sys_model.UserInnerRegister, userState sys_enum.UserState, userType sys_enum.UserType, customId ...int64) (*sys_model.SysUser, error)
	// SetUserPermissions 设置用户权限
	SetUserPermissions(ctx context.Context, userId int64, permissionIds []int64) (bool, error)
	// GetSysUserByUsername 根据用户名获取用户
	GetSysUserByUsername(ctx context.Context, username string) (response *sys_model.SysUser, err error)
	// CheckPassword 检查密码是否正确
	CheckPassword(ctx context.Context, userId int64, password string) (bool, error)
	// HasSysUserByUsername 判断用户名是否存在
	HasSysUserByUsername(ctx context.Context, username string) bool
	// GetSysUserById 根据用户ID获取用户信息
	GetSysUserById(ctx context.Context, userId int64) (*sys_model.SysUser, error)
	MakeSession(ctx context.Context, userId int64)
	// SetUserPermissionIds 设置用户权限
	SetUserPermissionIds(ctx context.Context, userId int64, permissionIds []int64) (bool, error)
	// DeleteUser 删除用户信息,该方法一般由后端业务层内部调用
	DeleteUser(ctx context.Context, id int64) (bool, error)
	// SetUsername 修改自己的账号登陆名称
	SetUsername(ctx context.Context, newUsername string, userId int64) (bool, error)
	// SetUserState 设置用户状态
	SetUserState(ctx context.Context, userId int64, state sys_enum.UserType) (bool, error)
	// UpdateUserPassword 修改用户登录密码
	UpdateUserPassword(ctx context.Context, info sys_model.UpdateUserPassword, userId int64) (bool, error)
	// ResetUserPassword 重置用户密码 (超级管理员无需验证验证,XX商管理员重置员工密码无需验证)
	ResetUserPassword(ctx context.Context, userId int64, password string, confirmPassword string) (bool, error)
	// HasSysUserEmail 邮箱是否存在
	HasSysUserEmail(ctx context.Context, email string) bool
	// GetSysUserByEmail 根据邮箱获取用户信息
	GetSysUserByEmail(ctx context.Context, email string) (response *sys_model.SysUser, err error)
	// ResetUserEmail 重置用户邮箱
	ResetUserEmail(ctx context.Context, userId int64, email string) (bool, error)
	// SetUserRoles 设置用户角色
	SetUserRoles(ctx context.Context, userId int64, roleIds []int64, makeUserUnionMainId int64) (bool, error)
	// UpdateUserExDetail 更新用户扩展信息
	UpdateUserExDetail(ctx context.Context, user *sys_model.SysUser) (*sys_model.SysUser, error)
	// GetUserDetail 查看用户详情,含完整手机号
	GetUserDetail(ctx context.Context, userId int64) (*sys_model.SysUser, error)
	// GetUserListByMobileOrMail 根据手机号或者邮箱查询用户列表
	GetUserListByMobileOrMail(ctx context.Context, info string) (*sys_model.SysUserListRes, error)
	// SetUserMobile 设置用户手机号
	SetUserMobile(ctx context.Context, newMobile, captcha, password string, userId int64) (bool, error)
	// SetUserMail 设置用户邮箱
	SetUserMail(ctx context.Context, oldMail, newMail, captcha, password string, userId int64) (bool, error)
}

func SysUser

func SysUser() ISysUser

Jump to

Keyboard shortcuts

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