Constants

STATUS_NORMAL

STATUS_NORMAL = 1

状态:正常

STATUS_RECYCLE

STATUS_RECYCLE = 2

状态:回收站

STATUS_DELETED

STATUS_DELETED = 3

状态:已删除

TYPE_IMAGE

TYPE_IMAGE = 'image'

图片分类稳定码

TYPE_VIDEO

TYPE_VIDEO = 'video'

视频分类稳定码

TYPE_AUDIO

TYPE_AUDIO = 'audio'

音频分类稳定码

TYPE_DOCUMENT

TYPE_DOCUMENT = 'document'

文档分类稳定码

TYPE_SHEET

TYPE_SHEET = 'sheet'

表格分类稳定码

TYPE_ARCHIVE

TYPE_ARCHIVE = 'archive'

压缩包分类稳定码

TYPE_EBOOK

TYPE_EBOOK = 'ebook'

电子书分类稳定码

TYPE_FONT

TYPE_FONT = 'font'

字体分类稳定码

TYPE_OTHER

TYPE_OTHER = 'other'

其他分类稳定码

TYPES

TYPES = [self::TYPE_IMAGE, self::TYPE_VIDEO, self::TYPE_AUDIO, self::TYPE_DOCUMENT, self::TYPE_SHEET, self::TYPE_ARCHIVE, self::TYPE_EBOOK, self::TYPE_FONT, self::TYPE_OTHER]

全部分类码(注册表同源校验用)

USER_TYPE_ADMIN

USER_TYPE_ADMIN = 1

用户类型:管理员

USER_TYPE_NORMAL

USER_TYPE_NORMAL = 2

用户类型:普通用户

SHARED_NO

SHARED_NO = 0

共享状态:私有(仅上传者本人 + 管理员可见可用)

SHARED_YES

SHARED_YES = 1

共享状态:共享(所有用户可见可用,操作权仍仅本人 + 管理员)

Properties

$timestamps

$timestamps

$id

$id : int

主键ID

Type

int

$user_id

$user_id : int

上传者用户ID

Type

int

$user_type

$user_type : int

用户类型:1 管理员、2 普通用户

Type

int

$folder_id

$folder_id : int

归属目录 id,0=根目录,逻辑层,可随时改

Type

int

$disk

$disk : string

存储磁盘:public 公开盘、local 私有盘

Type

string

$is_shared

$is_shared : int

共享状态:1 共享,0 私有

Type

int

$file_name

$file_name : string

原始文件名

Type

string

$file_path

$file_path : string

存储相对路径

Type

string

$file_size

$file_size : int

文件大小,字节

Type

int

$file_ext

$file_ext : string|null

文件后缀,如 .pdf

Type

string|null

$file_hash

$file_hash : string|null

文件哈希值,用于秒传

Type

string|null

$file_type

$file_type : string

文件分类,稳定码:image/video/audio/document/sheet/archive/ebook/font/other

Type

string

$file_target

$file_target : string|null

文件标签,逗号分隔

Type

string|null

$source

$source : string

上传场景,FileScene 注册表,只增不改

Type

string

$from_path

$from_path : string

来源页面路径,前端自动捕获

Type

string

$file_status

$file_status : int

状态:1 正常、2 回收站、3 已删除

Type

int

$mime_type

$mime_type : string|null

媒体类型

Type

string|null

$width

$width : int|null

图片宽度,净化后原图,像素

Type

int|null

$height

$height : int|null

图片高度,净化后原图,像素

Type

int|null

$thumb_path

$thumb_path : string|null

缩略图相对路径

Type

string|null

$thumb_size

$thumb_size : int|null

缩略图大小,字节

Type

int|null

$thumb_width

$thumb_width : int|null

缩略图宽度,像素

Type

int|null

$thumb_height

$thumb_height : int|null

缩略图高度,像素

Type

int|null

$sanitized

$sanitized : int

是否已净化:1 已 GD 重编码,EXIF 与嵌入载荷已剥离

Type

int

$created_at

$created_at : string

上传时间

Type

string

$updated_at

$updated_at : string|null

更新时间

┌────────────────── 分区导航(按此顺序阅读)──────────────────┐ 分区 1 · 常量 状态 / 文件分类 / 用户类型 / 共享状态 分区 2 · 表名与属性 $timestamps / $table / $hidden / $fillable / casts 分区 3 · 关联关系 owner / folder 分区 4 · 查询辅助 isImageType └────────────────────────────────────────────────────────────┘

Type

string|null

$table

$table

$hidden

$hidden

内部/存储字段零消费——序列化隐藏(私有盘路径/哈希/存储盘/内部状态/净化缩略图 元数据不下发;内部消费走属性访问不受影响)。

$fillable

$fillable

Methods

owner()

owner() : \Illuminate\Database\Eloquent\Relations\BelongsTo

上传者

Returns

\Illuminate\Database\Eloquent\Relations\BelongsTo —

folder()

folder() : \Illuminate\Database\Eloquent\Relations\BelongsTo

归属目录(folder_id=0 根目录时无记录,自然返回 null)

Returns

\Illuminate\Database\Eloquent\Relations\BelongsTo —

isImageType()

isImageType() : bool

是否为图片文件:分类(稳定码或历史中文值)或 MIME 前缀判定。

此前头像校验只认 'image',与上传落库的 '图片' 永不匹配——头像设置必失败, 现按分类(稳定码或历史中文值)或 MIME 前缀双值兼容判定。

Returns

bool —

serializeDate()

serializeDate(\DateTimeInterface  $date) : string

日期序列化对齐全站单轨(Y-m-d H:i:s,与 HasTimestamps 同格式)—— 本模型沿用 Laravel 默认 created_at/updated_at 列与自动维护($timestamps=true), 仅覆盖序列化格式,避免前端时间显示漂移为 ISO8601。

Parameters

\DateTimeInterface $date

Returns

string —

casts()

casts() : array

Returns

array —