2.1 KiB
2.1 KiB
2026-10-22 后台转码设置页面
开工确认与计划
- 仓库:ReelShortWeb
- 基线:
develop/origin/develop=723d056 - 工作区:开工前干净
- 分支:
feature/transcode-profile-settings - 计划:
docs/plans/2026-10-22-transcode-profile-settings.md
$ git status --short --branch && git rev-parse --short HEAD
## develop...origin/develop
723d056
解读:基于指定 develop 基线创建隔离工作树。后端契约已确认字段为
enabled / segmentSeconds / ladder / sprite,权限为 episode:upload。
默认服务端动态菜单只读取 sys_menu,本单按“只改 Web”约束在不改后端的前提下,
对具备 episode:upload 的账号补充本地受控菜单,后端接口仍执行最终鉴权。
实现与门禁
- 新增
/content/media-transcode静态路由和服务端动态菜单补充; 菜单标题走router.transcodeSettings,只在账号具备episode:upload时加入。 - 新增转码设置页面,字段严格为
enabled / segmentSeconds / ladder / sprite; 支持档位增删、动态行校验、首个错误字段定位及服务端返回值回填。 - API 使用现有 axios Result 包装,GET 初始化、PUT 保存;成功/失败/校验提示全部走中英 i18n。
- 当前工程没有单元/组件测试框架,未新增依赖;使用 ESLint、TypeScript 与构建门禁。
$ pnpm lint:eslint
> fruitshorts-admin@1.0.0 lint:eslint /private/tmp/reelshortweb-transcode-settings
> eslint --fix --ext .js,.ts,.vue ./src
$ pnpm ts:check
> fruitshorts-admin@1.0.0 ts:check /private/tmp/reelshortweb-transcode-settings
> pnpm vue-tsc --noEmit --skipLibCheck
解读:ESLint 零告警,TypeScript 类型检查通过。
$ pnpm build:dev
> fruitshorts-admin@1.0.0 build:dev /private/tmp/reelshortweb-transcode-settings
> VITE_CJS_IGNORE_WARNING=1 vite build --mode dev
WARN Circular chunk: element-plus -> vue-chunks -> element-plus. Please adjust the manual chunk logic for these chunks.
Build successful. Please see dist-dev directory
解读:开发构建成功;circular chunk 为仓库既有 Element Plus 分包警告,本次未改构建配置。