fix(web): 修复图片上传、自动保存竞态、登录竞态并统一失效公共缓存
FormData 不强设 Content-Type(P1-2),补 api 客户端回归测试; 自动保存成功仅失效列表与公共键,防详情 refetch 回滚输入(P1-4); login/logout 以请求序号丢弃迟到 /api/me 响应,401 统一回调跳登录(P2-15); 首页不硬编码 page_size,写操作后统一 invalidatePublic,TagPage 补 error 分支(P2-15)。
This commit is contained in:
@@ -4,6 +4,7 @@ import { useMutation, useQuery, useQueryClient } from '@tanstack/react-query'
|
||||
import { Bold, Italic, Link2, Code, Table, Eye, EyeOff } from 'lucide-react'
|
||||
import { api, ApiError } from '../lib/api'
|
||||
import type { NoteItem } from '../lib/api'
|
||||
import { invalidatePublic } from '../lib/invalidate'
|
||||
import MarkdownViewer from '../components/MarkdownViewer'
|
||||
import { slugPreview } from '../lib/utils'
|
||||
|
||||
@@ -110,7 +111,10 @@ export default function AdminEdit() {
|
||||
setSlugFieldError(null)
|
||||
setErrorMsg(null)
|
||||
dirtyRef.current = false
|
||||
void qc.invalidateQueries({ queryKey: ['admin'] })
|
||||
// 仅失效列表与公共缓存;不失效当前编辑详情(['admin','note',id]),
|
||||
// 防 refetch 回滚保存期间继续输入的内容并抑制下一轮自动保存(评审 round2 P1-4)
|
||||
void qc.invalidateQueries({ queryKey: ['admin', 'notes'] })
|
||||
invalidatePublic(qc)
|
||||
if (isNew) {
|
||||
navigate(`/admin/notes/${saved.id}/edit`, { replace: true })
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user