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.