fix: 第24轮搜索审计修复 — 日期intersect/NOT深度/re.ASCII统一等15项
R24 修复清单:
- H2 (CRITICAL): _dispatch_term 7个日期字段改为intersect模式,防止单日期覆盖已设范围
- H1 (MEDIUM): 混合日期范围交换 >= → >
- BUG-1: keyset游标只使用pub_date,忽略article_date
- BUG-2: 纯*通配符返回text("FALSE")
- BUG-3: page_size上限100
- BUG-4: tag_ids上限200
- BUG-5: _escape_ilike先反转义再转义,避免双重转义
- BUG-6/7/8: _has_any_filter query.strip、数字PMID、_phrase_terms_set NameError
- M1: _parse_not_expr添加深度守卫(MAX_PAREN_DEPTH)
- M3: is_pubmed_syntax添加re.ASCII与_TOKEN_RE一致
- 前端: router.replace → push
- 文档: 追加R24修复记录
This commit is contained in:
@@ -548,7 +548,8 @@ function syncSearchToUrl() {
|
||||
// 页码持久化到 URL(Keyset 排序使用 keyset 页码,offset 排序使用 offset 页码)
|
||||
const currentPage = KEYSET_SORTS.has(sort.value) ? keysetPage.value : page.value
|
||||
if (currentPage > 1) q.p = String(currentPage)
|
||||
router.replace({ query: q }).catch(() => {})
|
||||
// R24: use push instead of replace to preserve browser back-button history
|
||||
router.push({ query: q }).catch(() => {})
|
||||
}
|
||||
|
||||
function resetAllFilters() {
|
||||
|
||||
Reference in New Issue
Block a user