| 123456789101112131415161718192021222324252627282930 |
- import { promises as fs } from 'node:fs'
- import path from 'node:path'
- /**
- * SummaryWriter:写章摘要(M2 定稿流程调用,审稿单定稿版落盘)。
- */
- export class SummaryWriter {
- constructor(repoPath, cache = null) {
- this.repoPath = repoPath
- this.cache = cache
- }
- /**
- * 写章摘要到 定稿/摘要/章摘要/NNNN.md。
- * @param {number} chapterNum
- * @param {string} text - 摘要文本(≤200 字,纯文本无 front matter)
- * @returns {Promise<{ok: boolean, filePath: string, error: string}>}
- */
- async writeChapterSummary(chapterNum, text) {
- try {
- const dir = path.join(this.repoPath, '定稿', '摘要', '章摘要')
- await fs.mkdir(dir, { recursive: true })
- const filePath = path.join(dir, `${String(chapterNum).padStart(4, '0')}.md`)
- await fs.writeFile(filePath, `${String(text).trim()}\n`, 'utf8')
- return { ok: true, filePath, error: '' }
- } catch (err) {
- return { ok: false, filePath: '', error: `写章摘要 ${chapterNum} 失败:${err.message}` }
- }
- }
- }
|