github.com/SupenBysz/gf-admin-community@v0.7.4/sys_service/sys_file.go (about)

     1  // ================================================================================
     2  // Code generated and maintained by GoFrame CLI tool. DO NOT EDIT.
     3  // You can delete these comments if you wish manually maintain this interface file.
     4  // ================================================================================
     5  
     6  package sys_service
     7  
     8  import (
     9  	"context"
    10  
    11  	"github.com/SupenBysz/gf-admin-community/sys_model"
    12  	"github.com/SupenBysz/gf-admin-community/sys_model/sys_entity"
    13  	"github.com/SupenBysz/gf-admin-community/sys_model/sys_enum"
    14  	"github.com/SupenBysz/gf-admin-community/sys_model/sys_hook"
    15  )
    16  
    17  type (
    18  	IFile interface {
    19  		// InstallHook 安装Hook
    20  		InstallHook(state sys_enum.UploadEventState, hookFunc sys_hook.FileHookFunc) int64
    21  		// UnInstallHook 卸载Hook
    22  		UnInstallHook(savedHookId int64)
    23  		// CleanAllHook 清除Hook
    24  		CleanAllHook()
    25  		// Upload 统一上传文件
    26  		Upload(ctx context.Context, in sys_model.FileUploadInput) (*sys_entity.SysFile, error)
    27  		// GetUploadFile 根据上传ID 获取上传文件信息
    28  		GetUploadFile(ctx context.Context, uploadId int64, userId int64, message ...string) (*sys_model.FileInfo, error)
    29  		// SaveFile 保存文件
    30  		SaveFile(ctx context.Context, storageAddr string, info *sys_model.FileInfo) (*sys_model.FileInfo, error)
    31  		// UploadIDCard 上传身份证照片
    32  		UploadIDCard(ctx context.Context, in sys_model.OCRIDCardFileUploadInput) (*sys_model.IDCardWithOCR, error)
    33  		// UploadBankCard 上传银行卡照片
    34  		UploadBankCard(ctx context.Context, in sys_model.BankCardWithOCRInput) (*sys_model.BankCardWithOCR, error)
    35  		// UploadBusinessLicense 上传营业执照照片
    36  		UploadBusinessLicense(ctx context.Context, in sys_model.OCRBusinessLicense) (*sys_model.BusinessLicenseWithOCR, error)
    37  		// DownLoadFile 下载文件
    38  		DownLoadFile(ctx context.Context, savePath string, url string) (string, error)
    39  		// GetFileById 根据id获取并返回文件信息
    40  		GetFileById(ctx context.Context, id int64, errorMessage string) (*sys_model.FileInfo, error)
    41  		// MakeFileUrl 图像id换取url: 拼接三个参数,缓存fileInfo、然后返回url + 三参
    42  		MakeFileUrl(ctx context.Context, id int64) string
    43  		// MakeFileUrlByPath 文件path换取url: 拼接三个参数,缓存签名数据、然后返回url + 三参
    44  		MakeFileUrlByPath(ctx context.Context, path string) string
    45  		// GetFile 获取图片 公开  (srcBase64 + srcMd5 + fileId) ==> md5加密
    46  		GetFile(ctx context.Context, sign, srcBase64 string, id int64, cId int64) (*sys_model.FileInfo, error)
    47  		// UploadPicture 上传图片并审核
    48  		UploadPicture(ctx context.Context, input sys_model.PictureWithOCRInput) (*sys_model.PictureWithOCR, error)
    49  		// GetOssFileSingUrl 获取文件的签名访问URL
    50  		GetOssFileSingUrl(ctx context.Context, bucketName, objectKey string) (string, error)
    51  		// GetOssFileWithURL 根据文件的签名访问URL获取文件
    52  		GetOssFileWithURL(ctx context.Context, bucketName, filePath, singUrl string) (bool, error)
    53  	}
    54  )
    55  
    56  var (
    57  	localFile IFile
    58  )
    59  
    60  func File() IFile {
    61  	if localFile == nil {
    62  		panic("implement not found for interface IFile, forgot register?")
    63  	}
    64  	return localFile
    65  }
    66  
    67  func RegisterFile(i IFile) {
    68  	localFile = i
    69  }