Documentation
¶
Index ¶
- Variables
- func DeleteClaim(claimId int64, orgID int64, userID int64) (err error)
- func DeleteCore(id int64, orgID int64, userID int64) (err error)
- func GetFileTypeByClaimID(claimID int64) (fileType string)
- func GetPublicURLByClaimID(fileID int64) (url string)
- func GetPublicURLFirstByList(fileIDs []int64) string
- func GetPublicURLMapsByClaimIDsTo(fileIDs []int64) map[int64]string
- func GetPublicURLsByClaimIDs(fileIDs []int64) (fileURLs []string)
- func Init()
- func UploadFile(c *gin.Context, args *ArgsUploadFile) (newClaimID int64, errCode string, err error)
- type ArgsGetClaimList
- type ArgsGetCoreList
- type ArgsUploadFile
- type DataFileClaimVisit
- type DataUploadFileType
- type FieldsFile
- type FieldsFileClaim
Constants ¶
This section is empty.
Variables ¶
View Source
var ( //OpenSub 是否启动订阅 OpenSub = false )
Functions ¶
func GetFileTypeByClaimID ¶
GetFileTypeByClaimID 获取文件格式
func GetPublicURLByClaimID ¶
GetPublicURLByClaimID 获取文件URL地址
func GetPublicURLFirstByList ¶
GetPublicURLFirstByList 从一组图片中抽取第一张图反馈
func GetPublicURLMapsByClaimIDsTo ¶
GetPublicURLMapsByClaimIDsTo 获取一组文件URL Map结构体
func GetPublicURLsByClaimIDs ¶
GetPublicURLsByClaimIDs 批量获取一组文件
func UploadFile ¶
UploadFile 上传文件 上传到本地,然后根据存储规格区别处理
Types ¶
type ArgsGetClaimList ¶
type ArgsGetClaimList struct {
//分页参数
Pages CoreSQL2.ArgsPages `json:"pages"`
//组织ID
OrgID int64 `json:"orgID" check:"id" empty:"true"`
//用户ID
UserID int64 `json:"userID" check:"id" empty:"true"`
//文件结构体
FileID int64 `json:"fileID" check:"id" empty:"true"`
//搜索
Search string `json:"search" check:"search" empty:"true"`
}
type ArgsGetCoreList ¶
type ArgsGetCoreList struct {
//分页
Pages CoreSQL2.ArgsPages `json:"pages"`
//组织ID
OrgID int64 `json:"orgID" check:"id" empty:"true"`
//用户ID
UserID int64 `json:"userID" check:"id" empty:"true"`
//存储方式
// local 本地化单一服务器存储; qiniu 七牛云存储
SaveSystem string `db:"save_system" json:"saveSystem" check:"mark" empty:"true"`
//存储块
SaveMark string `db:"save_mark" json:"saveMark" check:"mark" empty:"true"`
}
ArgsGetCoreList 获取文件列表参数
type ArgsUploadFile ¶
type ArgsUploadFile struct {
//文件路径
FileSrc string `json:"fileSrc"`
//目标路径
TargetSrc string `json:"targetSrc"`
//文件最大尺寸
MaxSize int64 `json:"maxSize"`
//限制格式
FilterType []string `json:"filterType"`
//创建用户
UserID int64 `json:"userID" check:"id" empty:"true"`
//创建组织
OrgID int64 `json:"orgID" check:"id" empty:"true"`
//IP地址
IP string `json:"ip"`
//过期时间
ExpireAt time.Time `json:"expireAt" check:"defaultTime" empty:"true"`
//是否为公开的文件
IsPublic bool `json:"isPublic" check:"bool" empty:"true"`
//描述
Des string `json:"des" check:"des" min:"1" max:"600" empty:"true"`
}
ArgsUploadFile 上传文件参数
type DataFileClaimVisit ¶
type DataFileClaimVisit struct {
//ID
ID int64 `db:"id" json:"id"`
//创建时间
CreateAt time.Time `db:"create_at" json:"createAt"`
//认领文件ID
ClaimID int64 `db:"claim_id" json:"claimID"`
//实体文件ID
FileID int64 `db:"file_id" json:"fileID"`
//查看用户ID
UserID int64 `db:"user_id" json:"userID"`
//创建IP
CreateIP string `db:"create_ip" json:"createIP"`
}
DataFileClaimVisit 认领文件访问数据参数 该表不是永久性数据存储,将用于数据分析调用和使用,一段时间后将自动删除相关数据,以确保数据快速写入
type DataUploadFileType ¶
type DataUploadFileType struct {
//文件尺寸
Size int64
//文件名称,含类别
Name string
//文件名称,不含类别
OnlyName string
//新的文件名称
NewName string
//文件类别
Type string
//创建时间
CreateTime int64
//存储路径
Src string
//SHA256摘要
SHA256 string
}
DataUploadFileType 上传文件结构体
type FieldsFile ¶
type FieldsFile struct {
//ID
ID int64 `db:"id" json:"id"`
//创建时间
CreateAt time.Time `db:"create_at" json:"createAt"`
//更新时间
UpdateAt time.Time `db:"update_at" json:"updateAt"`
//验证Hash
UpdateHash string `db:"update_hash" json:"updateHash"`
//创建IP
CreateIP string `db:"create_ip" json:"createIP"`
//文件原始创建人
//创建组织
// 可选,指定后该文件归属于组织,用户ID将只是指引,没有操作权限
OrgID int64 `db:"org_id" json:"orgID"`
//创建用户
// 必须指定创建的用户,如果组织失效,则文件将自动归属于用户
UserID int64 `db:"user_id" json:"userID"`
//文件尺寸
FileSize int64 `db:"file_size" json:"fileSize"`
//文件类型
FileType string `db:"file_type" json:"fileType"`
//文件hash
// 默认采用sha256作为标准
FileHash string `db:"file_hash" json:"fileHash"`
//文件路径
FileSrc string `db:"file_src" json:"fileSrc"`
//存储方式
// local 本地化单一服务器存储; qiniu 七牛云存储
SaveSystem string `db:"save_system" json:"saveSystem"`
//存储块
SaveMark string `db:"save_mark" json:"saveMark"`
//第三方服务是否确认
SaveSuccess bool `db:"save_success" json:"saveSuccess"`
//其他扩展信息
Infos CoreSQLConfig.FieldsConfigsType `db:"infos" json:"infos"`
}
FieldsFile 文件主要结构体
func GetCoreList ¶
func GetCoreList(args *ArgsGetCoreList) (dataList []FieldsFile, dataCount int64, err error)
GetCoreList 获取文件列表
type FieldsFileClaim ¶
type FieldsFileClaim struct {
//ID
ID int64 `db:"id" json:"id"`
//创建时间
CreateAt time.Time `db:"create_at" json:"createAt"`
//更新时间
UpdateAt time.Time `db:"update_at" json:"updateAt"`
//验证Hash
UpdateHash string `db:"update_hash" json:"updateHash"`
//创建组织
// 可选,指定后该文件归属于组织,用户ID将只是指引,没有操作权限
OrgID int64 `db:"org_id" json:"orgID"`
//创建用户
// 必须指定创建的用户,如果组织失效,则文件将自动归属于用户
UserID int64 `db:"user_id" json:"userID"`
//是否公开?
// 否则必须指定认证来源才能查看
IsPublic bool `db:"is_public" json:"isPublic"`
//文件结构体
FileID int64 `db:"file_id" json:"fileID"`
//文件自动过期时间
// 过期将自动销毁该文件
// null为永远不过期
ExpireAt time.Time `db:"expire_at" json:"expireAt"`
//最后访问时间
VisitLastAt time.Time `db:"visit_last_at" json:"visitLastAt"`
//访问次数
VisitCount int `db:"visit_count" json:"visitCount"`
//描述或备注
Des string `db:"des" json:"des"`
//其他扩展信息
Infos CoreSQLConfig.FieldsConfigsType `db:"infos" json:"infos"`
}
FieldsFileClaim 认领结构体 文件的hash可重复被认领,节约存储空间 除了匹配hash外,还会匹配文件的type和size信息,以减少碰撞概率 采用sha256作为唯一标识码标准
func GetClaim ¶
func GetClaim(id int64) (data FieldsFileClaim)
func GetClaimList ¶
func GetClaimList(args *ArgsGetClaimList) (dataList []FieldsFileClaim, dataCount int64, err error)
Click to show internal directories.
Click to hide internal directories.