AlistGo / AlistGo/alist

索引功能的操作逻辑难以理解

未关闭
#7,130 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
enhancement
主要语言
Go
星标
50.2k
派生
7.9k
平均合并
7 天 21 小时
30 天内合并 PR
6

描述

### Please make sure of the following things

- [X] I have read the [documentation](https://alist.nn.ci).
- [X] I'm sure there are no duplicate issues or discussions.
- [X] I'm sure this feature is not implemented.
- [X] I'm sure it's a reasonable and popular requirement.

### Description of the feature / 需求描述

目前的索引功能操作起来很令人费解。

- 假设我有比较复杂的筛选需求,那通常需要一个白名单和一个黑名单。
- 但是AList只能保存【忽略路径】,意味着只有黑名单。
- 但是我又可以使用【更新索引】功能手动指定我想更新的路径,这又是一个白名单,但它不能保存这个白名单。
- 目前来说,完全可以不用【重建索引】只用【更新索引】,也能建立索引。
- 【刷新】按钮一直在自己按自己来呼出`api/admin/index/progress`,那为什么要显示这个按钮?
- 以及为什么这个页面总共有两个刷新按钮?(另一个是`api/admin/setting/list?group=6`,这个API不应该和`api/admin/setting/save`合并吗?)
- 【更新索引】的时候,【对象计数】并不会显示进度,【上次完成时间】也不会在完成时更新。

### Suggested solution / 实现思路

- 路径白名单(Include)
- 支持Regex或者其他类型的进阶过滤方式
- 路径黑名单(Exclude)
- 支持Regex或者其他类型的进阶过滤方式
- 保存设置
- 呼出`api/admin/setting/save`,Response.data=`api/admin/setting/list?group=6`的Response.data
- 建立/更新索引
- 当`api/admin/index/progress`检查到目前正在生成索引时,按钮变灰,并且不能按下
- 修复计数器和上次完成时间的显示更新
- 去掉所有刷新按钮
- 其他保持现状

是我个人认为的比较合理的设计。

### Additional context / 附件

_No response_

贡献指南

打开贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。