import fs from 'node:fs' import path from 'node:path' import { fileURLToPath } from 'node:url' const __filename = fileURLToPath(import.meta.url) const __dirname = path.dirname(__filename) const dataDir = path.resolve(__dirname, '../data') const cacheFile = path.join(dataDir, 'qishier-cache.json') const statusFile = path.join(dataDir, 'capture-status.json') function ensureDir() { if (!fs.existsSync(dataDir)) { fs.mkdirSync(dataDir, { recursive: true }) } } export function ensureDataFiles() { ensureDir() if (!fs.existsSync(cacheFile)) { fs.writeFileSync( cacheFile, JSON.stringify( { updatedAt: null, name: '七十二家房客', coverUrl: '', displayType: 0, pages: {}, beginScoreMap: {}, items: [] }, null, 2 ), 'utf-8' ) } if (!fs.existsSync(statusFile)) { fs.writeFileSync( statusFile, JSON.stringify( { running: false, lastMessage: '未启动采集', updatedAt: null }, null, 2 ), 'utf-8' ) } } export function readCache() { ensureDataFiles() return JSON.parse(fs.readFileSync(cacheFile, 'utf-8')) } export function writeCache(data) { ensureDataFiles() fs.writeFileSync(cacheFile, JSON.stringify(data, null, 2), 'utf-8') } export function readStatus() { ensureDataFiles() return JSON.parse(fs.readFileSync(statusFile, 'utf-8')) } export function writeStatus(status) { ensureDataFiles() fs.writeFileSync(statusFile, JSON.stringify(status, null, 2), 'utf-8') }