` 拿不到有效数据 ⇒ **播不了**。
⇒ `$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);
?>