feat(admin): 新增转码设置页面
This commit is contained in:
1 parent
723d056fc7
commit
218196ee9f
16 files changed
+1014
-3
No files matched your search
@@ -0,0 +1,39 @@
|
||||
# 后台转码设置页面
|
||||
|
||||
## 目标
|
||||
|
||||
1. 在内容管理下新增「转码设置」页面,权限沿用 `episode:upload`。
|
||||
2. 页面字段与 FruitServer `MediaTranscodeProfile` 完全一致。
|
||||
3. 对接 `GET/PUT /admin/media/transcode-profile`,保存后回填服务端响应。
|
||||
4. 前端校验规则与后端一致,并在失败时定位到首个错误字段。
|
||||
|
||||
## 方案
|
||||
|
||||
- API:在 `src/api/admin/media.ts` 增加读取、保存函数,类型定义放
|
||||
`src/api/admin/types.ts`;响应继续遵循现有 `Result {code,message,data}`。
|
||||
- 路由:静态路由表增加 `/content/media-transcode`;默认服务端动态路由模式下,
|
||||
根据 `episode:upload` 权限把同一条本地路由补充进服务端 `/content` 菜单,
|
||||
已存在同名菜单时不重复添加,仅统一 i18n 标题。
|
||||
- 页面:`views/systemManagement/TranscodeSettingsView.vue`,使用 Element Plus 表单、
|
||||
表格、数字输入和开关;保存按钮受 `episode:upload` 控制。
|
||||
- 校验:
|
||||
- quality 非空且忽略首尾空格后唯一;
|
||||
- width/height 为正偶数;
|
||||
- videoBitrateKbps/audioBitrateKbps 为正整数;
|
||||
- segmentSeconds 2–10;
|
||||
- sprite.intervalSeconds 1–10、columns 5–20、thumbWidth 120–240;
|
||||
- ladder 至少一档 enabled。
|
||||
- 校验失败由 Element Plus 定位到首个错误 prop,动态列表错误会定位到对应行。
|
||||
- 所有可见文案、提示和校验信息进入 `zh-CN.ts` / `en.ts`。
|
||||
|
||||
## 非目标
|
||||
|
||||
- 不修改 FruitServer、ReelShort 或接口契约。
|
||||
- 不新增权限码、不新增依赖、不启动服务。
|
||||
|
||||
## 测试与门禁
|
||||
|
||||
- 当前工程没有单元/组件测试框架,不引入新依赖;使用 TS 类型检查和构建门禁。
|
||||
- `pnpm lint:eslint`
|
||||
- `pnpm ts:check`
|
||||
- `pnpm build:dev`
|
||||
Reference in new issue
Block a user