feat:增加字幕功能与记住我! - #176
Open
wacpi wants to merge 308 commits into
Open
feat:增加字幕功能与记住我!#176wacpi wants to merge 308 commits into
wacpi wants to merge 308 commits into
Conversation
fix: 优化进度请求,支持切换分集恢复进度,
fix: 修改分享弹出机制!
fix: 修改分享功能导致的内存溢出问题!
Add TranscodingConfig.vue with mode toggle, codec, concurrency params. Add tab entry, API calls, and types. Remove duplicate transcoding fields from OtherConfig. Ultraworked with Sisyphus (https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
login.vue: validate redirect (same-origin only) request.ts: add X-Requested-With header
CSP, HSTS, X-Frame-Options, X-Content-Type-Options, Referrer-Policy, Permissions-Policy per route type
- auth-store: token 只存在 Pinia state(内存)中,不再写入 localStorage - saveCredentials: 不再写 localStorage/Cookie token,仅设内存 + user_id Cookie - request.ts: 从 getBrowserToken() 读取内存 token;refresh 依赖 HttpOnly Cookie - auth-sync.client: 移除 storage 事件监听(不再需要) - auth-init.server: 移除 Cookie.token 读取,直接转发 Cookie 让后端处理 - watch.vue: 移除 localStorage refreshToken 的手动续签逻辑
Nuxt 3 运行时无需 eval(模板预编译),移除后降低 XSS 利用面
- 新增 changePasswordAPI(v1/auth/changePassword) - security.vue 改为内联表单(旧密码 → 新密码 → 确认密码) - 忘记密码链接保留,指向 /setpassword
1. timeupdate 兜底:从 currentTime >= duration - 0.35 改为 video.ended 判断, 消除提前 0.35s 截断导致的进度条显示异常(1:29 vs 1:30) 2. 双击回放:移除 playbackEnded 里的 seek(0)(播完瞬间跳0), 改为 patch wplayer.play() 在用户点击播放且视频已结束时才重启 MediaSource 3. 嵌入代码:新增 props.rid 替代 route.query.rid,不受 history.replaceState 限制
- partList 构造时 shortId 从 resource.shortId 改为 props.vid - 新增 resourceRid: resource.shortId 用于精确标识分P资源 - 修复合集/分P自动连播导航到错误 URL 的问题 之前自动下一集会生成 ?v=<资源rid>&p=<分P号> 现在正确生成 ?v=<视频shortId>&rid=<资源shortId>
getVideoStatusAPI 参数改为 string | number(后端 ParseVideoID 已兼容) video-manage.vue 编辑/字幕管理传 item.shortId || item.vid upload/video.vue route.query.vid 不再强转 Number SubtitleManageDialog.vue vid 类型扩展为 string | number | null subtitle/list 已传 resourceShortId 无需改动
- SubtitleTrackItemType 新增 shortId 字段 - updateSubtitleAPI/deleteSubtitleAPI 接受 string | number - ResourceSubtitleEditor 使用 t.shortId || t.id 传参
- 全屏模式下显示选集下拉按钮(支持分P/合集/PGC) - 片尾 2s 自动连播倒计时提示(分P/合集) - 移除 :key 强制销毁重建,原地切换分P保持全屏 - 修复 showAdvanceToast innerHTML 视频标题未转义导致 XSS - PGCSeasonPanel/VideoCollection expose 选集所需数据
- LoginReq/EmailLoginReq 增加 rememberMe 字段 - 勾选时 refresh cookie maxAge 设为 30 天,否则 7 天 - 默认勾选「记住我」 - 后端 GenerateRefreshToken/SetRefreshToken 支持动态 TTL
新增 reTranscodeResourceAPI 支持单分P级别重新转码,失败列展开显示各分P状态并可按P单独重试 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
分P切换时保留浏览器全屏状态 连播切换分P时从 localStorage 恢复清晰度偏好 setDanmaku 捕获异常不阻断弹幕列表更新 暴露 isLoopEnabled 供 auto-advance 判断循环模式 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
computeNextAdvance 与 onVideoEnded 合集分支均按 mergedList[currentIndex] 取下一项,绕过 getNextVideo 的 vid/shortId 匹配逻辑 advancePending 仅用于 UI 倒计时,导航在 onVideoEnded 实时计算 消除 polling 闭包捕获与数据过渡期的时间差 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
RecommendList + PGCRecommendList 添加 watch(() => props.vid),合集内自动连播切换视频时重新请求相关推荐 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
• 降级时不改 defaultQuality.value,保持用户偏好给下个视频 • quality_start 不再存 localStorage • 改为 switchQuality 拦截(仅用户主动点击保存) • Bug 01 fix fallback 路径也不写 localStorage • 修复 player.off is not a function Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
computeNextAdvance 和 onVideoEnded 都使用 VideoCollection.getNextVideo(),避免 merged[idx] 位置索引与合集 getNextVideo 逻辑不一致 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
新增 addEpMode 切换(upload / bind),绑定模式允许手动 输入已有视频 ID 替代上传,后端接口复用已有流程。
- video-manage: 去掉总进度条,单画质可重试,warn状态支持 - upload: Plan B fileID(DirName),cover blob URL直传,VideoMeta前端探针 - video-player: HLS加密播放支持 - art-player: 弹幕与控制栏修复 - HistoryVideoList: 暗色模式修复 - hls-player: 加密密钥缓存
- uploadDirectToOSS改为while循环分批上传 - 每批20个分片,上传完调presignChunks续签下一轮 - 采集ETag传给completeVideo
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
01:修复安全问题!
02:新增字幕功能!
03:新增记住登录!