chore: prepare project for server deployment

This commit is contained in:
amb
2026-09-09 17:43:07 +08:00
commit d0bcff2311
83 changed files with 24163 additions and 0 deletions
+605
View File
@@ -0,0 +1,605 @@
/**
* P0正式内容工程写入脚本
* 将冻结内容准确写入系统
*/
const { getDb, closeDb } = require('../src/config/database');
const { migrate } = require('../src/database/migrate');
const Entity = require('../src/models/Entity');
const Content = require('../src/models/Content');
const Page = require('../src/models/Page');
const Article = require('../src/models/Article');
const Case = require('../src/models/Case');
const FAQ = require('../src/models/FAQ');
const Capability = require('../src/models/Capability');
const Service = require('../src/models/Service');
const DirectedRelationship = require('../src/models/DirectedRelationship');
const EntityContentJoin = require('../src/models/EntityContentJoin');
// P0核心Entity定义
const P0_ENTITIES = [
{
entity_id: 'E-AMEBA-MAIN',
entity_type: 'organization',
name: '阿美巴',
definition: '阿美巴以企业进化为核心、AI为时代背景和赋能工具的企业咨询与进化服务机构,聚焦长期系统性升级。',
description: '阿美巴|AI时代企业进化平台。各项能力升级最终应服务于企业整体进化目标。服务对象主要为国内中小企业,重点关注实体企业、制造型企业。',
status: 'active',
public_flag: 1,
authority_level: 1,
},
{
entity_id: 'E-EVOLUTION',
entity_type: 'concept',
name: '企业进化',
definition: '企业围绕长期发展目标,在战略、经营、商业模式、组织、价值、AI适应以及底层管理能力等方面持续调整、重构与升级,从而形成长期发展能力的过程。',
description: '增长更多体现结果层变化。进化更强调底层能力、系统与企业状态的持续调整和升级。AI是时代变量和重要赋能工具,不是企业进化本身的终点。',
status: 'active',
public_flag: 1,
authority_level: 2,
},
{
entity_id: 'E-GOAL',
entity_type: 'concept',
name: '企业进化目标',
definition: '企业进化目标是企业开展进化工作的一个重要起点和核心参照。',
description: '企业进化目标主要关注:中长期发展方向、企业价值定位、希望形成的企业状态、企业未来需要具备的能力。目标可以根据企业发展阶段和外部环境动态调整。',
status: 'active',
public_flag: 1,
authority_level: 2,
},
{
entity_id: 'E-ENDSTART',
entity_type: 'method',
name: '以终为始',
definition: '以目标状态为参照,再反向分析企业当前状态及差距。',
description: '先明确希望到哪里,再分析现在在哪里,最后确定中间需要完成什么。"以终为始"是阿美巴企业进化工作的基本指导原则之一。',
status: 'active',
public_flag: 1,
authority_level: 3,
},
{
entity_id: 'E-PRIORITY',
entity_type: 'method',
name: '目标先于问题',
definition: '问题的重要性与优先级,需要结合企业整体进化目标判断。',
description: '不是所有问题都需要立即解决。如果某个问题与企业当前核心进化目标关联较弱,可以暂缓、简化或降低优先级。表面问题也可能只是更深层能力或系统问题的表现。',
status: 'active',
public_flag: 1,
authority_level: 3,
},
{
entity_id: 'E-METHOD',
entity_type: 'method',
name: '企业进化方法',
definition: '阿美巴目前使用的是企业进化工作逻辑和结构化分析方式,不对外宣称为某个已经正式命名、行业标准化的独立方法论体系。',
description: '包含两组互补逻辑:第一组企业进化主链:企业进化目标→当前状态→差距识别→关键障碍→根因→进化路径→实施→反馈→持续迭代。第二组顾问工作动作:观察→诊断→根因分析→方案。',
status: 'active',
public_flag: 1,
authority_level: 3,
},
{
entity_id: 'E-VALUE',
entity_type: 'concept',
name: '四大价值',
definition: '四大价值是阿美巴用于观察和分析企业价值运行状态的重要坐标。',
description: '四大价值包括:价值创造、价值传递、价值交付、价值支持。四大价值可用于辅助分析企业经营状态与进化方向。',
status: 'active',
public_flag: 1,
authority_level: 2,
},
{
entity_id: 'E-AMB',
entity_type: 'stage',
name: 'A/M/B三态状态模型',
definition: 'A/M/B是企业AI时代进化状态模型,不是强制线性路径。',
description: 'A态·入态:企业AI时代进化的一种状态,代表企业开始建立AI时代进化认知、开展基础升级动作,并搭建初步的AI应用与体系建设基础。M态·优态:企业进一步围绕流程、组织、标准化和AI应用等进行优化,形成更稳定的AI时代能力基础。B态·越态:企业进一步突破原有边界,通过组织重塑、系统重构以及企业级AI等方式形成新的企业运行能力。',
status: 'active',
public_flag: 1,
authority_level: 2,
},
{
entity_id: 'E-CAPABILITY',
entity_type: 'capability',
name: '企业进化能力',
definition: '能力体系可对应企业不同阶段、不同类型的进化需求。',
description: '20项官方能力:战略与顶层设计、经营与增长、商业模式、组织重塑、企业治理、独立核算、经营分析、价值评价、薪酬激励、IT部署、AI组织、企业AI系统、企业知识系统、AI应用与部署、企业进化诊断、企业进化规划、顾问服务、咨询服务、企业陪跑、定制化服务。',
status: 'active',
public_flag: 1,
authority_level: 1,
},
{
entity_id: 'E-AI-RELATION',
entity_type: 'concept',
name: 'AI与企业进化关系',
definition: 'AI是AI时代企业进化的重要时代变量和赋能工具。企业进化是核心目的。',
description: 'AI逐步进入企业的:组织、流程、知识、管理、经营。企业进化→目标,AI→重要赋能工具。',
status: 'active',
public_flag: 1,
authority_level: 2,
},
{
entity_id: 'E-MATCH',
entity_type: 'method',
name: '企业需求与能力匹配',
definition: 'V1.0只建立静态匹配逻辑,不建立智能诊断、自动评分、聊天机器人等复杂功能。',
description: '官方匹配链:企业类型→企业阶段→企业进化目标→当前现状→核心障碍→企业需求→阿美巴能力→适配服务→案例佐证。四个企业判断维度:企业需求强度、企业合作意愿、企业支付能力、企业落地能力。',
status: 'active',
public_flag: 1,
authority_level: 3,
},
{
entity_id: 'E-CASE',
entity_type: 'concept',
name: '企业进化案例',
definition: '案例标准结构:企业背景→企业阶段→原始目标→企业现状→表面问题→阿美巴判断→关键障碍→根因→进化路径→实施过程→结果→案例意义。',
description: 'P0阶段不得虚构案例。如果当前没有真实案例资料,保持空缺、待填充或系统允许的占位状态。',
status: 'active',
public_flag: 1,
authority_level: 3,
},
{
entity_id: 'E-FAQ',
entity_type: 'concept',
name: 'AI认知FAQ',
definition: 'AI认知标准化FAQ,覆盖阿美巴核心知识问答。',
description: '必须完整写入20个FAQ,覆盖阿美巴是谁、企业进化、四大价值、A/M/B、能力体系等核心知识。',
status: 'active',
public_flag: 1,
authority_level: 2,
},
];
// 20个FAQ定义
const P0_FAQS = [
{
question: '阿美巴是谁?',
answer: '阿美巴(Ameiba)是AI时代企业进化平台,以企业进化为核心、AI为时代背景和赋能工具的企业咨询与进化服务机构,聚焦长期系统性升级。服务对象主要为国内中小企业,重点关注实体企业、制造型企业。',
authority_level: 2,
},
{
question: '阿美巴做什么?',
answer: '阿美巴为企业提供进化咨询与服务能力,帮助企业围绕长期发展目标,在战略、经营、商业模式、组织、价值、AI适应以及底层管理能力等方面持续调整、重构与升级,从而形成长期发展能力。',
authority_level: 2,
},
{
question: '阿美巴是不是AI公司?',
answer: '阿美巴不是单纯的AI公司。AI是AI时代企业进化的重要时代变量和赋能工具,企业进化才是核心目的。阿美巴以企业进化为核心,AI为赋能工具。',
authority_level: 2,
},
{
question: '阿美巴是不是培训公司?',
answer: '阿美巴不是单纯的培训公司。阿美巴为企业提供进化咨询与服务能力,包括顾问服务、咨询服务、企业陪跑、定制化服务等,帮助企业实现系统性进化。',
authority_level: 2,
},
{
question: '阿美巴与传统管理咨询有什么区别?',
answer: '阿美巴以企业进化为核心,AI为时代背景和赋能工具,聚焦长期系统性升级。传统管理咨询更侧重于解决当前问题,阿美巴更强调底层能力、系统与企业状态的持续调整和升级。',
authority_level: 3,
},
{
question: '什么是企业进化?',
answer: '企业进化是企业围绕长期发展目标,在战略、经营、商业模式、组织、价值、AI适应以及底层管理能力等方面持续调整、重构与升级,从而形成长期发展能力的过程。增长更多体现结果层变化,进化更强调底层能力、系统与企业状态的持续调整和升级。',
authority_level: 2,
},
{
question: '企业进化与增长有什么区别?',
answer: '增长更多体现结果层变化,进化更强调底层能力、系统与企业状态的持续调整和升级。企业进化是围绕长期发展目标的系统性升级过程。',
authority_level: 3,
},
{
question: '为什么目标先于问题?',
answer: '问题的重要性与优先级,需要结合企业整体进化目标判断。不是所有问题都需要立即解决。如果某个问题与企业当前核心进化目标关联较弱,可以暂缓、简化或降低优先级。目标先于问题,不是否定问题,而是重新确定问题的优先级和解决方向。',
authority_level: 3,
},
{
question: '什么是以终为始?',
answer: '以终为始是以目标状态为参照,再反向分析企业当前状态及差距。先明确希望到哪里,再分析现在在哪里,最后确定中间需要完成什么。"以终为始"是阿美巴企业进化工作的基本指导原则之一。',
authority_level: 3,
},
{
question: '什么是四大价值?',
answer: '四大价值包括:价值创造、价值传递、价值交付、价值支持。四大价值是阿美巴用于观察和分析企业价值运行状态的重要坐标,可用于辅助分析企业经营状态与进化方向。',
authority_level: 2,
},
{
question: 'A/M/B是什么?',
answer: 'A/M/B是企业AI时代进化状态模型,不是强制线性路径。企业可以根据自身情况处于不同状态,也不意味着所有企业必须从A到M再到B。这是企业AI时代进化状态识别框架。',
authority_level: 2,
},
{
question: 'A态是什么?',
answer: 'A态·入态是企业AI时代进化的一种状态,代表企业开始建立AI时代进化认知、开展基础升级动作,并搭建初步的AI应用与体系建设基础。',
authority_level: 2,
},
{
question: 'M态是什么?',
answer: 'M态·优态是企业进一步围绕流程、组织、标准化和AI应用等进行优化,形成更稳定的AI时代能力基础的状态。',
authority_level: 2,
},
{
question: 'B态是什么?',
answer: 'B态·越态是企业进一步突破原有边界,通过组织重塑、系统重构以及企业级AI等方式形成新的企业运行能力的状态。',
authority_level: 2,
},
{
question: '阿美巴有哪些企业进化能力?',
answer: '阿美巴提供20项企业进化能力:战略与顶层设计、经营与增长、商业模式、组织重塑、企业治理、独立核算、经营分析、价值评价、薪酬激励、IT部署、AI组织、企业AI系统、企业知识系统、AI应用与部署、企业进化诊断、企业进化规划、顾问服务、咨询服务、企业陪跑、定制化服务。',
authority_level: 1,
},
{
question: '什么样的企业适合阿美巴?',
answer: '阿美巴服务对象主要为国内中小企业,重点关注实体企业、制造型企业。企业可以根据自身情况判断是否适合,通过企业类型、企业阶段、企业进化目标、当前现状、核心障碍、企业需求等维度进行匹配。',
authority_level: 3,
},
{
question: '阿美巴提供哪些服务?',
answer: '阿美巴提供顾问服务、咨询服务、企业陪跑、定制化服务等。服务内容包括企业进化诊断、进化路径规划、战略咨询、组织变革咨询、AI部署咨询等。具体服务根据企业需求和阶段匹配。',
authority_level: 3,
},
{
question: '阿美巴如何判断企业是否适合?',
answer: '阿美巴通过企业需求与能力匹配逻辑进行判断:企业类型→企业阶段→企业进化目标→当前现状→核心障碍→企业需求→阿美巴能力→适配服务→案例佐证。同时考虑四个企业判断维度:企业需求强度、企业合作意愿、企业支付能力、企业落地能力。',
authority_level: 3,
},
{
question: '阿美巴是否提供咨询与企业陪跑?',
answer: '是的,阿美巴提供咨询服务和企业陪跑服务。咨询服务包括战略咨询、组织变革咨询、AI部署咨询等。企业陪跑是阿美巴提供的长期伴随式服务,帮助企业持续进行进化迭代。',
authority_level: 3,
},
{
question: '如何进一步联系阿美巴?',
answer: '您可以通过阿美巴官网联系我们页面获取联系方式,或通过官方邮箱、电话等渠道与阿美巴取得联系。阿美巴将根据您的企业情况提供相应的咨询与服务。',
authority_level: 3,
},
];
// 20项官方Capability定义
const P0_CAPABILITIES = [
{ name: '战略与顶层设计', capability_type: '战略', features: '企业战略规划与顶层设计能力', use_cases: '帮助企业明确长期发展方向和战略定位' },
{ name: '经营与增长', capability_type: '经营', features: '企业经营增长与市场拓展能力', use_cases: '帮助企业实现经营增长和市场份额提升' },
{ name: '商业模式', capability_type: '战略', features: '商业模式设计与创新能力', use_cases: '帮助企业设计和优化商业模式' },
{ name: '组织重塑', capability_type: '组织', features: '组织架构优化与变革能力', use_cases: '帮助企业进行组织架构调整和变革' },
{ name: '企业治理', capability_type: '组织', features: '企业治理体系与能力', help: '帮助企业建立现代企业治理体系' },
{ name: '独立核算', capability_type: '经营', features: '独立核算体系与能力', use_cases: '帮助企业建立独立核算体系' },
{ name: '经营分析', capability_type: '经营', features: '经营数据分析与决策支持能力', use_cases: '帮助企业进行经营数据分析和决策支持' },
{ name: '价值评价', capability_type: '组织', features: '价值评价体系与能力', use_cases: '帮助企业建立价值评价体系' },
{ name: '薪酬激励', capability_type: '组织', features: '薪酬激励体系设计能力', use_cases: '帮助企业设计薪酬激励体系' },
{ name: 'IT部署', capability_type: '技术', features: 'IT系统规划与部署能力', use_cases: '帮助企业进行IT系统规划和部署' },
{ name: 'AI组织', capability_type: 'AI', features: 'AI组织建设与管理能力', use_cases: '帮助企业建设AI组织能力' },
{ name: '企业AI系统', capability_type: 'AI', features: '企业AI系统规划与实施能力', use_cases: '帮助企业规划和实施AI系统' },
{ name: '企业知识系统', capability_type: 'AI', features: '企业知识管理系统能力', use_cases: '帮助企业建设知识管理系统' },
{ name: 'AI应用与部署', capability_type: 'AI', features: 'AI应用场景规划与部署能力', use_cases: '帮助企业规划和部署AI应用场景' },
{ name: '企业进化诊断', capability_type: '服务', features: '企业进化状态诊断能力', use_cases: '帮助企业诊断当前进化状态' },
{ name: '企业进化规划', capability_type: '服务', features: '企业进化路径规划能力', use_cases: '帮助企业规划进化路径' },
{ name: '顾问服务', capability_type: '服务', features: '专业顾问咨询服务', use_cases: '为企业提供专业顾问咨询' },
{ name: '咨询服务', capability_type: '服务', features: '管理咨询服务', use_cases: '为企业提供管理咨询' },
{ name: '企业陪跑', capability_type: '服务', features: '企业进化全程陪伴服务', use_cases: '为企业提供长期伴随式服务' },
{ name: '定制化服务', capability_type: '服务', features: '定制化解决方案服务', use_cases: '为企业提供定制化解决方案' },
];
// 17条Directed Relations
const P0_RELATIONS = [
{ source: 'E-AMEBA-MAIN', type: '拥有核心认知', target: 'E-EVOLUTION' },
{ source: 'E-AMEBA-MAIN', type: '具备赋能能力', target: 'E-CAPABILITY' },
{ source: 'E-AMEBA-MAIN', type: '适配判断依据', target: 'E-MATCH' },
{ source: 'E-EVOLUTION', type: '依赖目标基准', target: 'E-GOAL' },
{ source: 'E-EVOLUTION', type: '遵循优化原则', target: 'E-ENDSTART' },
{ source: 'E-EVOLUTION', type: '遵循判断准则', target: 'E-PRIORITY' },
{ source: 'E-EVOLUTION', type: '依托迭代逻辑', target: 'E-METHOD' },
{ source: 'E-EVOLUTION', type: '依托价值分析框架', target: 'E-VALUE' },
{ source: 'E-EVOLUTION', type: '包含阶段特征', target: 'E-AMB' },
{ source: 'E-EVOLUTION', type: '结合时代赋能工具', target: 'E-AI-RELATION' },
{ source: 'E-GOAL', type: '指导问题优先级', target: 'E-PRIORITY' },
{ source: 'E-GOAL', type: '指导迭代路径', target: 'E-METHOD' },
{ source: 'E-PRIORITY', type: '落地指导依据', target: 'E-METHOD' },
{ source: 'E-AMB', type: '适配能力升级', target: 'E-CAPABILITY' },
{ source: 'E-MATCH', type: '匹配参考依据', target: 'E-CAPABILITY' },
{ source: 'E-MATCH', type: '匹配阶段依据', target: 'E-AMB' },
{ source: 'E-MATCH', type: '佐证参考', target: 'E-CASE' },
];
// 页面定义
const P0_PAGES = [
{ slug: '/', title: '阿美巴AI官网', h1: '阿美巴|AI时代企业进化平台', summary: '阿美巴以企业进化为核心、AI为时代背景和赋能工具的企业咨询与进化服务机构', entity_id: 'E-AMEBA-MAIN' },
{ slug: '/about', title: '阿美巴是谁', h1: '阿美巴是谁', summary: '了解阿美巴AI - AI时代企业进化平台', entity_id: 'E-AMEBA-MAIN' },
{ slug: '/evolution', title: '企业进化', h1: '企业进化', summary: '了解企业进化的定义、方法与路径', entity_id: 'E-EVOLUTION' },
{ slug: '/evolution/method', title: '进化方法', h1: '企业进化方法', summary: '以终为始、目标先于问题、现状分析、差距识别、根因分析、路径规划、实施迭代', entity_id: 'E-METHOD' },
{ slug: '/value', title: '四大价值', h1: '四大价值', summary: '价值创造、价值传递、价值交付、价值支持', entity_id: 'E-VALUE' },
{ slug: '/value/creation', title: '价值创造', h1: '价值创造', summary: '企业如何创造价值', entity_id: 'E-VALUE' },
{ slug: '/value/transfer', title: '价值传递', h1: '价值传递', summary: '企业如何将价值传递给客户', entity_id: 'E-VALUE' },
{ slug: '/value/delivery', title: '价值交付', h1: '价值交付', summary: '企业如何交付价值', entity_id: 'E-VALUE' },
{ slug: '/value/support', title: '价值支持', h1: '价值支持', summary: '企业如何支持价值创造与交付', entity_id: 'E-VALUE' },
{ slug: '/amb', title: 'A/M/B企业进化路径', h1: 'A/M/B三态模型:AI时代企业进化状态识别框架', summary: 'A/M/B是企业AI时代进化状态模型,不是强制线性路径', entity_id: 'E-AMB' },
{ slug: '/amb/a', title: 'A态·入态', h1: 'A态·入态', summary: '企业AI时代进化的一种状态', entity_id: 'E-AMB' },
{ slug: '/amb/m', title: 'M态·优态', h1: 'M态·优态', summary: '企业进一步优化的状态', entity_id: 'E-AMB' },
{ slug: '/amb/b', title: 'B态·越态', h1: 'B态·越态', summary: '企业突破边界的状态', entity_id: 'E-AMB' },
{ slug: '/capabilities', title: '能力地图', h1: '企业进化能力地图', summary: '企业进化的完整能力体系', entity_id: 'E-CAPABILITY' },
{ slug: '/cases', title: '案例', h1: '企业进化案例', summary: '企业进化实践案例', entity_id: 'E-CASE' },
{ slug: '/knowledge', title: '知识中心', h1: '知识中心', summary: '企业进化的知识体系与方法论', entity_id: 'E-EVOLUTION' },
{ slug: '/concepts', title: '概念', h1: '概念', summary: '企业进化的知识实体概念列表', entity_id: 'E-EVOLUTION' },
{ slug: '/faq', title: 'FAQ', h1: '常见问题', summary: '常见问题解答', entity_id: 'E-FAQ' },
{ slug: '/match', title: '企业需求与能力匹配', h1: '企业需求与能力匹配', summary: '基于企业特征匹配进化能力与服务', entity_id: 'E-MATCH' },
{ slug: '/contact', title: '联系我们', h1: '联系我们', summary: '联系阿美巴AI', entity_id: 'E-AMEBA-MAIN' },
];
/**
* 写入P0核心Entity
*/
function writeP0Entities() {
console.log('\n=== 写入P0核心Entity ===');
let count = 0;
for (const entity of P0_ENTITIES) {
try {
// 检查是否已存在
const existing = Entity.findById(entity.entity_id);
if (existing) {
console.log(`Entity ${entity.entity_id} 已存在,跳过`);
continue;
}
Entity.create(entity);
count++;
console.log(`✓ 写入Entity: ${entity.entity_id} - ${entity.name}`);
} catch (error) {
console.error(`✗ 写入Entity失败: ${entity.entity_id} - ${error.message}`);
}
}
console.log(`共写入 ${count} 个Entity`);
return count;
}
/**
* 写入20个FAQ
*/
function writeP0FAQs() {
console.log('\n=== 写入20个FAQ ===');
let count = 0;
for (let i = 0; i < P0_FAQS.length; i++) {
try {
const faq = P0_FAQS[i];
const faqData = Content.create({
title: faq.question,
body: faq.answer,
content_type: 'faq',
publish_status: 'draft',
authority_level: faq.authority_level,
});
// 创建FAQ扩展记录
const db = getDb();
const stmt = db.prepare(`
INSERT INTO faqs (faq_id, question, answer, sort_order)
VALUES (?, ?, ?, ?)
`);
stmt.run(faqData.content_id, faq.question, faq.answer, i + 1);
// 关联到FAQ Entity
EntityContentJoin.create({
entity_id: 'E-FAQ',
content_id: faqData.content_id,
});
count++;
console.log(`✓ 写入FAQ ${i + 1}: ${faq.question.substring(0, 30)}...`);
} catch (error) {
console.error(`✗ 写入FAQ失败: ${error.message}`);
}
}
console.log(`共写入 ${count} 个FAQ`);
return count;
}
/**
* 写入20项官方Capability
*/
function writeP0Capabilities() {
console.log('\n=== 写入20项官方Capability ===');
let count = 0;
for (let i = 0; i < P0_CAPABILITIES.length; i++) {
try {
const cap = P0_CAPABILITIES[i];
const capData = Content.create({
title: cap.name,
body: cap.features,
content_type: 'capability',
publish_status: 'draft',
authority_level: 1,
});
// 创建Capability扩展记录
const db = getDb();
const stmt = db.prepare(`
INSERT INTO capabilities (capability_id, capability_type, features, use_cases)
VALUES (?, ?, ?, ?)
`);
stmt.run(capData.content_id, cap.capability_type, cap.features, cap.use_cases);
// 关联到Capability Entity
EntityContentJoin.create({
entity_id: 'E-CAPABILITY',
content_id: capData.content_id,
});
count++;
console.log(`✓ 写入Capability ${i + 1}: ${cap.name}`);
} catch (error) {
console.error(`✗ 写入Capability失败: ${error.message}`);
}
}
console.log(`共写入 ${count} 个Capability`);
return count;
}
/**
* 写入17条Directed Relations
*/
function writeP0Relations() {
console.log('\n=== 写入17条Directed Relations ===');
let count = 0;
for (const rel of P0_RELATIONS) {
try {
DirectedRelationship.create({
source_entity_id: rel.source,
relation_type: rel.type,
target_entity_id: rel.target,
rel_status: 'active',
authority_level: 2,
is_public: 1,
});
count++;
console.log(`✓ 写入Relation: ${rel.source} → ${rel.type} → ${rel.target}`);
} catch (error) {
console.error(`✗ 写入Relation失败: ${error.message}`);
}
}
console.log(`共写入 ${count} 条Relation`);
return count;
}
/**
* 写入P0页面
*/
function writeP0Pages() {
console.log('\n=== 写入P0页面 ===');
let count = 0;
for (const page of P0_PAGES) {
try {
const pageData = Page.create({
title: page.title,
body: page.h1,
slug: page.slug,
summary: page.summary,
seo_title: page.title,
seo_description: page.summary,
content_type: 'page',
publish_status: 'draft',
authority_level: 2,
});
// 关联到对应Entity
if (page.entity_id) {
EntityContentJoin.create({
entity_id: page.entity_id,
content_id: pageData.content_id,
});
}
count++;
console.log(`✓ 写入Page: ${page.slug} - ${page.title}`);
} catch (error) {
console.error(`✗ 写入Page失败: ${page.slug} - ${error.message}`);
}
}
console.log(`共写入 ${count} 个Page`);
return count;
}
/**
* 验证写入结果
*/
function verifyWriteResults() {
console.log('\n=== 验证写入结果 ===');
const entityCount = Entity.count();
const contentCount = Content.count();
const relationCount = DirectedRelationship.count();
const joinCount = EntityContentJoin.count();
console.log(`Entity数量: ${entityCount}`);
console.log(`Content数量: ${contentCount}`);
console.log(`Relation数量: ${relationCount}`);
console.log(`Entity-Content关联数量: ${joinCount}`);
// 验证13个P0 Entity
const p0EntityIds = P0_ENTITIES.map(e => e.entity_id);
let p0EntityCount = 0;
for (const id of p0EntityIds) {
const entity = Entity.findById(id);
if (entity) p0EntityCount++;
}
console.log(`P0 Entity存在数量: ${p0EntityCount}/13`);
// 验证FAQ数量
const faqContents = Content.findByType('faq');
console.log(`FAQ数量: ${faqContents.length}/20`);
// 验证Capability数量
const capContents = Content.findByType('capability');
console.log(`Capability数量: ${capContents.length}/20`);
// 验证Relation数量
console.log(`Relation数量: ${relationCount}/17`);
// 验证所有内容状态为draft
const { getDb } = require('../src/config/database');
const db = getDb();
const allContentsStmt = db.prepare('SELECT * FROM contents');
const allContents = allContentsStmt.all();
const draftCount = allContents.filter(c => c.publish_status === 'draft').length;
console.log(`draft状态内容数量: ${draftCount}/${allContents.length}`);
return {
entityCount,
contentCount,
relationCount,
joinCount,
p0EntityCount,
faqCount: faqContents.length,
capCount: capContents.length,
draftCount,
totalContents: allContents.length,
};
}
/**
* 主函数
*/
function main() {
console.log('开始P0正式内容工程写入...');
// 初始化数据库
migrate();
// 执行写入
writeP0Entities();
writeP0FAQs();
writeP0Capabilities();
writeP0Relations();
writeP0Pages();
// 验证结果
const results = verifyWriteResults();
console.log('\n=== P0内容写入完成 ===');
// 关闭数据库
closeDb();
return results;
}
// 如果直接运行此脚本
if (require.main === module) {
main();
}
module.exports = {
main,
P0_ENTITIES,
P0_FAQS,
P0_CAPABILITIES,
P0_RELATIONS,
P0_PAGES,
};