chore: remove localStorage-based persistence

This commit is contained in:
2026-06-15 20:22:27 -06:00
parent 1c2edcc3ab
commit bca3f59f20
3 changed files with 0 additions and 79 deletions

View File

@@ -1,24 +0,0 @@
<script setup lang="ts">
defineProps<{
updatedAt: string
}>()
defineEmits<{
restore: []
discard: []
}>()
</script>
<template>
<div class="dialog-overlay" role="dialog" aria-modal="true" aria-labelledby="restore-draft-title">
<div class="dialog">
<h2 id="restore-draft-title">发现未保存的草稿</h2>
<p>检测到本地保存的教案最近更新时间{{ updatedAt }}</p>
<p>是否恢复上次编辑的内容</p>
<div class="dialog-actions">
<button type="button" @click="$emit('restore')">恢复</button>
<button type="button" @click="$emit('discard')">放弃</button>
</div>
</div>
</div>
</template>

View File

@@ -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()
})
})

View File

@@ -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)
}