From bca3f59f20afbf90e5b621b27caf998c8868de70 Mon Sep 17 00:00:00 2001 From: yuetsh <517252939@qq.com> Date: Mon, 15 Jun 2026 20:22:27 -0600 Subject: [PATCH] chore: remove localStorage-based persistence --- src/components/RestoreDraftDialog.vue | 24 ---------------------- src/services/bookStorage.test.ts | 26 ------------------------ src/services/bookStorage.ts | 29 --------------------------- 3 files changed, 79 deletions(-) delete mode 100644 src/components/RestoreDraftDialog.vue delete mode 100644 src/services/bookStorage.test.ts delete mode 100644 src/services/bookStorage.ts diff --git a/src/components/RestoreDraftDialog.vue b/src/components/RestoreDraftDialog.vue deleted file mode 100644 index 685caca..0000000 --- a/src/components/RestoreDraftDialog.vue +++ /dev/null @@ -1,24 +0,0 @@ - - - diff --git a/src/services/bookStorage.test.ts b/src/services/bookStorage.test.ts deleted file mode 100644 index 2b3e127..0000000 --- a/src/services/bookStorage.test.ts +++ /dev/null @@ -1,26 +0,0 @@ -import { beforeEach, describe, expect, it } from 'vitest' -import { createEmptyBook } from '../domain/teachingDesign' -import { clearStoredBook, loadStoredBook, saveBook } from './bookStorage' - -describe('bookStorage', () => { - beforeEach(() => localStorage.clear()) - - it('round-trips a versioned book', () => { - const book = createEmptyBook() - book.cover.courseName = 'Web 前端开发' - - expect(saveBook(book)).toEqual({ ok: true }) - expect(loadStoredBook()?.cover.courseName).toBe('Web 前端开发') - }) - - it('returns null for malformed storage', () => { - localStorage.setItem('teaching-design-book', '{bad json') - expect(loadStoredBook()).toBeNull() - }) - - it('clears saved work', () => { - saveBook(createEmptyBook()) - clearStoredBook() - expect(loadStoredBook()).toBeNull() - }) -}) diff --git a/src/services/bookStorage.ts b/src/services/bookStorage.ts deleted file mode 100644 index fbc6707..0000000 --- a/src/services/bookStorage.ts +++ /dev/null @@ -1,29 +0,0 @@ -import { BOOK_SCHEMA_VERSION, type TeachingBook } from '../domain/teachingDesign' - -const STORAGE_KEY = 'teaching-design-book' - -export type SaveResult = { ok: true } | { ok: false; message: string } - -export function saveBook(book: TeachingBook): SaveResult { - try { - localStorage.setItem(STORAGE_KEY, JSON.stringify(book)) - return { ok: true } - } catch { - return { ok: false, message: '浏览器存储空间不足,当前修改尚未暂存。' } - } -} - -export function loadStoredBook(): TeachingBook | null { - try { - const raw = localStorage.getItem(STORAGE_KEY) - if (!raw) return null - const parsed = JSON.parse(raw) as TeachingBook - return parsed.schemaVersion === BOOK_SCHEMA_VERSION ? parsed : null - } catch { - return null - } -} - -export function clearStoredBook(): void { - localStorage.removeItem(STORAGE_KEY) -}