值](如日程要连带传宿主 id 才能判权限) * * ⚠️ 无 JS 也能用:可预览的是 ,不可预览的是 , * 脚本只是把"可预览"的那部分拦下来改成弹层。 */ $attCanEdit = !empty($attCanEdit); $attRows = $attRows ?? []; $attDelField = $attDelField ?? 'id'; $attExtra = $attExtra ?? []; $attDelUrl = $attDelUrl ?? ''; ?>
` 拿不到有效数据 ⇒ **播不了**。 ⇒ `$attKind === 'image'` 才传 `w`。 ⚠️ `v`(版本号)**所有类型都传** —— 视频转码后靠它破缓存。 ⚠️ 下载链接 `$attDl` 一律不带 `w`(要原文件,不能偷偷降质)。 */ $attOpts = $attKind === 'image' ? ['w' => 1600] : []; $attView = media_url((string)$attRow['key'], $attOpts, (int)($attRow['size'] ?? 0)); $attDl = media_url((string)$attRow['key'], ['dl' => 1]); $attNm = (string)($attRow['name'] ?? ''); $attSz = \App\Attachment::sizeWord($attRow['size'] ?? 0); // ① 图片 / 视频:下面不放文件名(见文件头说明) $attIsMedia = ($attKind === 'image' || $attKind === 'video'); // ② 文件:图标上显示文件名;没有名字时退回类别词(「PDF」「Word」…) $attFileWord = $attNm !== '' ? $attNm : \App\Attachment::kindWord($attKind); ?>
<?= e($attNm) ?>
下载
$ev): ?>