mirror of https://github.com/halo-dev/halo
fix: the issue of local cache not being cleared after saving a new post (#3551)
#### What type of PR is this? /kind bug /area console #### What this PR does / why we need it: 修复新建文章或页面保存后,本地内容缓存可能不会及时清空的问题。 #### Which issue(s) this PR fixes: Fixes https://github.com/halo-dev/halo/issues/3380 #### Special notes for your reviewer: 测试方式: 1. 连续创建多篇新的文章,然后反复进入新建页面,观察是否有恢复缓存的提示。 #### Does this PR introduce a user-facing change? ```release-note 修复新建文章或页面保存后,本地内容缓存可能不会及时清空的问题。 ```pull/3563/head^2
parent
4ce5d0c2cf
commit
194850bc80
|
@ -17,16 +17,16 @@ interface useContentCacheReturn {
|
|||
|
||||
export function useContentCache(
|
||||
key: string,
|
||||
name: string,
|
||||
name: Ref<string | undefined>,
|
||||
raw: Ref<string | undefined>
|
||||
): useContentCacheReturn {
|
||||
const content_caches = useLocalStorage<ContentCache[]>(key, []);
|
||||
const { t } = useI18n();
|
||||
|
||||
const handleResetCache = () => {
|
||||
if (name) {
|
||||
if (name.value) {
|
||||
const cache = content_caches.value.find(
|
||||
(c: ContentCache) => c.name === name
|
||||
(c: ContentCache) => c.name === name.value
|
||||
);
|
||||
if (cache) {
|
||||
Toast.info(t("core.composables.content_cache.toast_recovered"));
|
||||
|
@ -44,15 +44,15 @@ export function useContentCache(
|
|||
};
|
||||
|
||||
const handleSetContentCache = debounce(() => {
|
||||
if (name) {
|
||||
if (name.value) {
|
||||
const cache = content_caches.value.find(
|
||||
(c: ContentCache) => c.name === name
|
||||
(c: ContentCache) => c.name === name.value
|
||||
);
|
||||
if (cache) {
|
||||
cache.content = raw?.value;
|
||||
} else {
|
||||
content_caches.value.push({
|
||||
name: name,
|
||||
name: name.value || "",
|
||||
content: raw?.value,
|
||||
});
|
||||
}
|
||||
|
|
|
@ -320,7 +320,7 @@ onMounted(async () => {
|
|||
const { handleSetContentCache, handleResetCache, handleClearCache } =
|
||||
useContentCache(
|
||||
"singlePage-content-cache",
|
||||
routeQueryName.value as string,
|
||||
routeQueryName,
|
||||
toRef(formState.value.content, "raw")
|
||||
);
|
||||
</script>
|
||||
|
|
|
@ -298,7 +298,7 @@ const onSettingPublished = (post: Post) => {
|
|||
};
|
||||
|
||||
// Get post data when the route contains the name parameter
|
||||
const name = useRouteQuery("name");
|
||||
const name = useRouteQuery<string>("name");
|
||||
onMounted(async () => {
|
||||
if (name.value) {
|
||||
// fetch post
|
||||
|
@ -333,7 +333,7 @@ onMounted(async () => {
|
|||
const { handleSetContentCache, handleResetCache, handleClearCache } =
|
||||
useContentCache(
|
||||
"post-content-cache",
|
||||
name.value as string,
|
||||
name,
|
||||
toRef(formState.value.content, "raw")
|
||||
);
|
||||
</script>
|
||||
|
|
Loading…
Reference in New Issue