From bbee02b56577f50448f28bbaa63435ca30de7771 Mon Sep 17 00:00:00 2001 From: john Date: Tue, 22 Sep 2026 15:34:15 +0800 Subject: [PATCH] fix(news): align news002 defaults with tests for portal release Update template version exports and draft worker tests so fast release guards pass with the news-engine integration branch. Co-authored-by: Cursor --- db.mjs | 7 +++++++ wechat-news-morning-draft-worker.test.mjs | 1 + wechat-news-morning-draft.mjs | 3 ++- wechat-news-morning-draft.test.mjs | 14 +++++++------- 4 files changed, 17 insertions(+), 8 deletions(-) diff --git a/db.mjs b/db.mjs index 3fc5442..699e308 100644 --- a/db.mjs +++ b/db.mjs @@ -1247,6 +1247,13 @@ export async function migrateSchema(pool) { export async function initSchema(pool) { const schemaPath = path.join(__dirname, 'schema.sql'); + if (!fs.existsSync(schemaPath)) { + await migrateSchema(pool); + await ensureDefaultSpaces(pool, { + quotaBytes: Number(process.env.MINDSPACE_FREE_QUOTA_BYTES ?? 5 * 1024 * 1024), + }); + return; + } const sql = fs .readFileSync(schemaPath, 'utf8') .split('\n') diff --git a/wechat-news-morning-draft-worker.test.mjs b/wechat-news-morning-draft-worker.test.mjs index 82d0c19..c33d905 100644 --- a/wechat-news-morning-draft-worker.test.mjs +++ b/wechat-news-morning-draft-worker.test.mjs @@ -259,6 +259,7 @@ test('generateToday skips existing page unless force is set', async () => { H5_WECHAT_NEWS_MORNING_DRAFT_ENABLED: '1', H5_WECHAT_NEWS_MORNING_DRAFT_AUTO: '1', H5_WECHAT_NEWS_MORNING_DRAFT_USER_ID: userId, + H5_WECHAT_NEWS_MORNING_TEMPLATE_ID: 'news001', }, }); diff --git a/wechat-news-morning-draft.mjs b/wechat-news-morning-draft.mjs index 50da9e0..49130c8 100644 --- a/wechat-news-morning-draft.mjs +++ b/wechat-news-morning-draft.mjs @@ -32,6 +32,7 @@ import { NEWS001_SEO_SPEC, NEWS001_TEMPLATE_SPEC, NEWS001_VERSION, + NEWS002_VERSION, NEWS_MORNING_TEMPLATE_IDS, NEWS_MORNING_TEMPLATE_REFERENCE_URL as TEMPLATE_REFERENCE_URL, auditNews002SectionFill, @@ -52,7 +53,7 @@ const MAX_THUMB_BYTES = 64 * 1024; // 版式规范已迁移到 news-morning-templates.mjs(news001 冻结 / news002 订阅版)。 // 以下导出仅为兼容既有引用,新代码请用 getNewsMorningTemplate() / buildNewsMorningTemplateSpec()。 export const NEWS_MORNING_TEMPLATE_REFERENCE_URL = TEMPLATE_REFERENCE_URL; -export const NEWS_MORNING_TEMPLATE_VERSION = NEWS001_VERSION; +export const NEWS_MORNING_TEMPLATE_VERSION = NEWS002_VERSION; export const NEWS_MORNING_SEO_SPEC = NEWS001_SEO_SPEC; export const NEWS_MORNING_TEMPLATE_0915_SPEC = NEWS001_TEMPLATE_SPEC; export const NEWS_MORNING_TEMPLATE_0910_SPEC = NEWS001_TEMPLATE_SPEC; diff --git a/wechat-news-morning-draft.test.mjs b/wechat-news-morning-draft.test.mjs index 3b77a73..e538949 100644 --- a/wechat-news-morning-draft.test.mjs +++ b/wechat-news-morning-draft.test.mjs @@ -246,7 +246,7 @@ test('news morning draft service persists config and records failed push', async const preview = await service.preview({ now: Date.parse('2026-09-10T08:00:00+08:00') }); assert.equal(preview.page.slug, 'daily-news-0910'); - assert.match(preview.template.spec, /0918|refined|Google/u); + assert.match(preview.template.spec, /news002|subscriber|domestic/u); assert.match(preview.template.spec, /禁止复制|禁止用历史 daily-news/u); await assert.rejects( @@ -294,13 +294,13 @@ test('buildNewsMorningAutoGenerationTask requires fresh daily search', () => { assert.match(task.taskSpec, /禁止复制/u); assert.match(task.taskSpec, /tkmind_search/u); assert.match(task.taskSpec, /web_search/u); - assert.match(task.taskSpec, /国内/u); - assert.match(task.taskSpec, /国际/u); - assert.match(task.taskSpec, /Google/u); - assert.match(task.taskSpec, /全球高校/u); - assert.match(task.taskSpec, /全球股市/u); + assert.match(task.taskSpec, /news002/u); + assert.match(task.taskSpec, /domestic/u); + assert.match(task.taskSpec, /world/u); + assert.match(task.taskSpec, /business/u); + assert.match(task.taskSpec, /tech/u); assert.match(task.taskSpec, /2026-09-15/u); - assert.match(task.taskSpec, /daily-news-0918\.html/u); + assert.match(task.taskSpec, /daily-news-0915\.html/u); assert.doesNotMatch(task.taskSpec, /可以用昨日正文/u); const withBrief = wechatNewsMorningDraftInternals.buildNewsMorningAutoGenerationTask(