+
+
当前用户附件存储模式
+
+ 当前模式:{modeLabel}
+
+ 绑定账号:{config.account}
+
+ {draft.mode === "oss"
+ ? `OSS 提供方:阿里 OSS · 密钥${config.aliyunOss?.accessKeySecretConfigured ? "已保存" : "未保存"}`
+ : "附件将继续写入服务器文件存储。"}
+
+
+ {(["server_file", "oss"] as const).map((mode) => {
+ const active = draft.mode === mode;
+ return (
+
+ );
+ })}
+
+
+
+ {draft.mode === "oss" ? (
+
+
阿里 OSS 配置
+
+ 当前仅支持阿里 OSS。AccessKey Secret 不会回显,留空表示沿用已保存的密钥。
+
+
setDraft((current) => ({ ...current, accessKeyId: value }))}
+ placeholder="请输入 AccessKey ID"
+ />
+ setDraft((current) => ({ ...current, accessKeySecret: value }))}
+ placeholder="请输入 AccessKey Secret"
+ type="password"
+ />
+ setDraft((current) => ({ ...current, bucket: value }))}
+ placeholder="例如 boss-attachments"
+ />
+ setDraft((current) => ({ ...current, endpoint: value }))}
+ placeholder="例如 oss-cn-hangzhou.aliyuncs.com"
+ />
+ setDraft((current) => ({ ...current, region: value }))}
+ placeholder="例如 oss-cn-hangzhou"
+ />
+ setDraft((current) => ({ ...current, prefix: value }))}
+ placeholder="例如 boss/"
+ />
+
+
+
+
+
+ ) : (
+
+
服务器文件存储
+
+ 切回后附件继续保存在服务器本地文件存储,不会走 OSS 配置校验。
+
+
+
+ )}
+
+ {message ? (
+
+ {message}
+
+ ) : null}
+
+ {draft.mode === "oss" ? (
+
+ 保存前请确认 Bucket、Endpoint 和 Region 都完整可用,测试通过后会同步写回当前账号配置。
+
+ ) : null}
+
+ );
+}