notes / scripts /seed-mock.mjs
ghuser1's picture
Upload 18 files
fccdf92 verified
Raw
History Blame Contribute Delete
1.71 kB
import { join } from "node:path";
import { createRepository } from "../src/data/repository.mjs";
const repository = createRepository({ dbPath: join(process.cwd(), "data", "notes.db") });
await repository.init();
const now = Date.now();
const folders = [
{ id: "notes", name: "备忘录", createdAt: now - 1000 * 60 * 60 * 24 * 30, updatedAt: now },
...Array.from({ length: 22 }, (_, index) => ({
id: `mock-folder-${index + 1}`,
name: `测试分类 ${String(index + 1).padStart(2, "0")}`,
createdAt: now - 1000 * 60 * 60 * (22 - index),
updatedAt: now - 1000 * 60 * index
}))
];
const longParagraph = [
"这是一段用于测试内容滚动的长文本。",
"移动端需要在内容页保持顶部返回栏和底部编辑按钮稳定。",
"桌面端需要编辑区自己滚动,不应该把分类和列表一起带走。",
"这里故意写得比较长,用来观察换行、行高和滚动条表现。"
].join("");
const notes = Array.from({ length: 96 }, (_, index) => {
const folder = index < 18 ? "notes" : `mock-folder-${(index % 22) + 1}`;
const lines = Array.from({ length: index % 9 === 0 ? 46 : 8 }, (__, lineIndex) => {
if (lineIndex === 0) return `测试笔记 ${String(index + 1).padStart(3, "0")}`;
if (lineIndex % 6 === 0) return `- 列表项 ${lineIndex}: 检查列表和正文滚动`;
return `${lineIndex}. ${longParagraph}`;
});
return {
id: `mock-note-${index + 1}`,
folder,
body: lines.join("\n\n"),
createdAt: now - 1000 * 60 * 60 * index,
updatedAt: now - 1000 * 60 * index
};
});
await repository.writeState({ folders, notes });
console.log(`Seeded ${folders.length} folders and ${notes.length} notes.`);