Skip to content

feat: 记住资源搜索结果的排序选择 - #691

Open
sokouu87 wants to merge 1 commit into
jxxghp:v3from
sokouu87:feat/remember-torrent-sort
Open

feat: 记住资源搜索结果的排序选择#691
sokouu87 wants to merge 1 commit into
jxxghp:v3from
sokouu87:feat/remember-torrent-sort

Conversation

@sokouu87

@sokouu87 sokouu87 commented Aug 20, 2026

Copy link
Copy Markdown

动机

资源搜索结果页的排序条件与方向只存在于组件状态里(useTorrentFiltersortField / sortType),每次重新进入结果页都会回到「默认 + 降序」。习惯固定用某种排序找资源的用户(例如按大小降序挑原盘/REMUX),每搜一次就要手点一遍。

同一个页面里的「视图类型」已经通过 localStorage['MPTorrentsViewType'] 记住了,排序却没有。

改动

只动 src/pages/resource.vue,18 行:

  • 进入结果页时从 localStorage 恢复 MPTorrentsSortField / MPTorrentsSortType
  • 排序条件或方向变化时写回

恢复时做了合法性校验:排序条件必须是 sortTitles 里已存在的键,方向只接受 asc / desc,非法或缺失一律回落到原有默认值。所以首次使用、清空存储、以及从旧版本升级上来的行为都和现在完全一致。

没有改 useTorrentFilter composable —— 持久化只发生在页面层,composable 的默认值与单测行为均不受影响。

验证

  • yarn vitest run src/pages/__tests__/resource.spec.ts src/composables/__tests__/useTorrentFilter.spec.ts → 47 passed
  • yarn typecheck(vue-tsc --noEmit)→ 通过
  • npx eslint src/pages/resource.vue --max-warnings=0 → 通过

🤖 Generated with Claude Code

PR-Agent 摘要

🤖 Generated by PR Agent at 0dd13aa

  • 持久化资源搜索页排序字段与方向
  • 进入页面时校验并恢复本地排序偏好
  • 非法或缺失配置保持原有默认行为
  • 未新增测试,需验证浏览器存储可用性

搜索结果页的排序条件与方向此前只存在于组件状态里,每次重新进入结果页
都会回到「默认 + 降序」,用户每次都要手动重选一遍(例如习惯按大小降序)。

参照同一页面里视图类型的既有做法,把排序条件与方向持久化到 localStorage
(MPTorrentsSortField / MPTorrentsSortType),进入结果页时恢复,变更时保存。

恢复时会校验取值合法性:排序条件必须是 sortTitles 里已存在的键,
方向只接受 asc / desc,非法值一律回落到原有默认行为。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

PR-Agent Code Review

此 PR 为资源搜索结果页新增排序字段与方向的本地持久化,并在恢复时校验存储值的合法性。改动未发现明确的行为缺陷,暂无需要提出的审查意见。

审查提交:0dd13aa

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants