| package febbox | |
| import ( | |
| "fmt" | |
| "github.com/alist-org/alist/v3/internal/model" | |
| "github.com/alist-org/alist/v3/pkg/utils" | |
| hash_extend "github.com/alist-org/alist/v3/pkg/utils/hash" | |
| "strconv" | |
| "time" | |
| ) | |
| type ErrResp struct { | |
| ErrorCode int64 `json:"code"` | |
| ErrorMsg string `json:"msg"` | |
| ServerRunTime float64 `json:"server_runtime"` | |
| ServerName string `json:"server_name"` | |
| } | |
| func (e *ErrResp) IsError() bool { | |
| return e.ErrorCode != 0 || e.ErrorMsg != "" || e.ServerRunTime != 0 || e.ServerName != "" | |
| } | |
| func (e *ErrResp) Error() string { | |
| return fmt.Sprintf("ErrorCode: %d ,Error: %s ,ServerRunTime: %f ,ServerName: %s", e.ErrorCode, e.ErrorMsg, e.ServerRunTime, e.ServerName) | |
| } | |
| type FileListResp struct { | |
| Code int `json:"code"` | |
| Msg string `json:"msg"` | |
| Data struct { | |
| FileList []File `json:"file_list"` | |
| ShowType string `json:"show_type"` | |
| } `json:"data"` | |
| } | |
| type Rules struct { | |
| AllowCopy int64 `json:"allow_copy"` | |
| AllowDelete int64 `json:"allow_delete"` | |
| AllowDownload int64 `json:"allow_download"` | |
| AllowComment int64 `json:"allow_comment"` | |
| HideLocation int64 `json:"hide_location"` | |
| } | |
| type File struct { | |
| Fid int64 `json:"fid"` | |
| UID int64 `json:"uid"` | |
| FileSize int64 `json:"file_size"` | |
| Path string `json:"path"` | |
| FileName string `json:"file_name"` | |
| Ext string `json:"ext"` | |
| AddTime int64 `json:"add_time"` | |
| FileCreateTime int64 `json:"file_create_time"` | |
| FileUpdateTime int64 `json:"file_update_time"` | |
| ParentID int64 `json:"parent_id"` | |
| UpdateTime int64 `json:"update_time"` | |
| LastOpenTime int64 `json:"last_open_time"` | |
| IsDir int64 `json:"is_dir"` | |
| Epub int64 `json:"epub"` | |
| IsMusicList int64 `json:"is_music_list"` | |
| OssFid int64 `json:"oss_fid"` | |
| Faststart int64 `json:"faststart"` | |
| HasVideoQuality int64 `json:"has_video_quality"` | |
| TotalDownload int64 `json:"total_download"` | |
| Status int64 `json:"status"` | |
| Remark string `json:"remark"` | |
| OldHash string `json:"old_hash"` | |
| Hash string `json:"hash"` | |
| HashType string `json:"hash_type"` | |
| FromUID int64 `json:"from_uid"` | |
| FidOrg int64 `json:"fid_org"` | |
| ShareID int64 `json:"share_id"` | |
| InvitePermission int64 `json:"invite_permission"` | |
| ThumbSmall string `json:"thumb_small"` | |
| ThumbSmallWidth int64 `json:"thumb_small_width"` | |
| ThumbSmallHeight int64 `json:"thumb_small_height"` | |
| Thumb string `json:"thumb"` | |
| ThumbWidth int64 `json:"thumb_width"` | |
| ThumbHeight int64 `json:"thumb_height"` | |
| ThumbBig string `json:"thumb_big"` | |
| ThumbBigWidth int64 `json:"thumb_big_width"` | |
| ThumbBigHeight int64 `json:"thumb_big_height"` | |
| IsCustomThumb int64 `json:"is_custom_thumb"` | |
| Photos int64 `json:"photos"` | |
| IsAlbum int64 `json:"is_album"` | |
| ReadOnly int64 `json:"read_only"` | |
| Rules Rules `json:"rules"` | |
| IsShared int64 `json:"is_shared"` | |
| } | |
| func fileToObj(f File) *model.ObjThumb { | |
| return &model.ObjThumb{ | |
| Object: model.Object{ | |
| ID: strconv.FormatInt(f.Fid, 10), | |
| Name: f.FileName, | |
| Size: f.FileSize, | |
| Ctime: time.Unix(f.FileCreateTime, 0), | |
| Modified: time.Unix(f.FileUpdateTime, 0), | |
| IsFolder: f.IsDir == 1, | |
| HashInfo: utils.NewHashInfo(hash_extend.GCID, f.Hash), | |
| }, | |
| Thumbnail: model.Thumbnail{ | |
| Thumbnail: f.Thumb, | |
| }, | |
| } | |
| } | |
| type FileDownloadResp struct { | |
| Code int `json:"code"` | |
| Msg string `json:"msg"` | |
| Data []struct { | |
| Error int `json:"error"` | |
| DownloadURL string `json:"download_url"` | |
| Hash string `json:"hash"` | |
| HashType string `json:"hash_type"` | |
| Fid int `json:"fid"` | |
| FileName string `json:"file_name"` | |
| ParentID int `json:"parent_id"` | |
| FileSize int `json:"file_size"` | |
| Ext string `json:"ext"` | |
| Thumb string `json:"thumb"` | |
| VipLink int `json:"vip_link"` | |
| } `json:"data"` | |
| } | |