| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561 |
- /**
- * ================================================================
- * 批量发布五维维度文章 E2E 测试
- * ================================================================
- * 目标:通过管理后台 API 批量创建并发布 15 篇文章
- * 五个维度(身/心/智/行/富)各 3 篇
- * 部署地址:http://cfc.iwintrue.com
- *
- * 流程:
- * 1. 登录管理后台获取 token
- * 2. 调用 /api/admin/articles/create 创建文章
- * 3. 调用 /api/admin/articles/publish 发布
- * 4. 验证每篇文章创建成功
- *
- * 前置条件:admin 账号已存在(admin / admin123)
- * ================================================================
- */
- const { test, expect } = require('@playwright/test');
- const BASE_URL = 'http://cfc.iwintrue.com';
- // ============ 15 篇文章数据 ============
- const DIMENSION_ARTICLES = [
- // ===== 身 (Body) =====
- {
- title: '孩子过敏反复不好,根源可能在肠道',
- summary: '很多家长不知道,反复的过敏症状根源很可能不在皮肤或鼻子,而在肠道。本文从肠道菌群角度解析过敏根源,提供从"对症治疗"到"对因调理"的科学方案。',
- content: `<h2>一、为什么过敏和肠道有关系?</h2>
- <p>人体约70%的免疫细胞分布在肠道,肠道是人体最大的免疫器官。肠道内生活着数以万亿计的微生物——肠道菌群,它们与免疫系统形成了精密的对话机制。</p>
- <p>当肠道菌群处于健康平衡状态时,免疫系统能够准确区分"朋友"和"敌人"。但当菌群失衡——有益菌减少、有害菌过度繁殖——肠道屏障功能就会受损,出现俗称的<strong>"肠漏"(Leaky Gut)</strong>。</p>
- <p><strong>🔬 科学事实:</strong>发表在《Nature Communications》上的研究显示,过敏儿童与健康儿童的肠道菌群组成存在显著差异,过敏儿童的菌群多样性明显偏低。</p>
- <h2>二、儿童过敏的常见表现</h2>
- <p><strong>婴幼儿期(0-3岁):</strong>湿疹、反复尿布疹、皮肤干燥瘙痒;频繁吐奶、腹泻、便秘;反复喘息、咳嗽。</p>
- <p><strong>学龄前期(3-6岁):</strong>过敏性鼻炎、哮喘或咳嗽变异性哮喘、皮肤湿疹持续或反复。</p>
- <p><strong>学龄期(6岁以上):</strong>过敏性鼻炎加重、支气管哮喘、食物过敏。</p>
- <h2>三、从"对症治疗"到"对因调理"</h2>
- <p>传统过敏治疗以"对症"为主——湿疹抹药膏、鼻炎喷激素。这些方法可以暂时控制症状,但无法解决根本问题。基于肠道菌群-免疫-过敏三角关系,现代过敏管理思路正在转向<strong>"对因调理"</strong>。</p>
- <h2>四、科学调理四步走</h2>
- <p><strong>第一步:消除破坏因素</strong> — 减少精制糖和加工食品,避免不必要的抗生素。</p>
- <p><strong>第二步:重建菌群平衡</strong> — 增加膳食纤维摄入,针对性补充益生菌。</p>
- <p><strong>第三步:修复肠道屏障</strong> — 谷氨酰胺、锌、维生素D、Omega-3脂肪酸。</p>
- <p><strong>第四步:维持健康生活方式</strong> — 规律作息、适度运动、减少压力。</p>
- <p><strong>💡 关键提示:</strong>每个孩子的菌群状况都是独特的。这正是菌群检测的核心价值——为每个孩子提供真正个性化的精准方案。</p>`,
- tags: '过敏,肠道菌群,免疫力,儿童健康',
- readTime: 8,
- categoryId: 1,
- dimension: 'body',
- difficultyLevel: 2
- },
- {
- title: '儿童免疫力提升3大关键步骤',
- summary: '免疫力是孩子最好的"医生"。本文从营养、睡眠、运动三个维度,为家长提供科学可操作的儿童免疫力提升方案。',
- content: `<h2>一、营养——免疫系统的"燃料"</h2>
- <p>均衡的营养是免疫系统正常运作的基础。蛋白质、维生素A、维生素C、维生素D、锌、铁等营养素的充足摄入,直接关系到免疫细胞的活性和数量。</p>
- <p><strong>关键营养素清单:</strong></p>
- <ul>
- <li>蛋白质:鱼、肉、蛋、奶、豆制品——免疫细胞的主要构成原料</li>
- <li>维生素C:柑橘类水果、猕猴桃、西兰花——促进免疫细胞活性</li>
- <li>维生素D:晒太阳、蛋黄、深海鱼——调节免疫应答</li>
- <li>锌:牡蛎、瘦肉、坚果——免疫细胞发育必需</li>
- </ul>
- <h2>二、睡眠——免疫系统的"修复时间"</h2>
- <p>睡眠不足会直接影响免疫细胞的活性。深度睡眠时,人体会分泌更多的细胞因子,这些蛋白质是免疫系统对抗感染的"武器"。</p>
- <p><strong>不同年龄段推荐睡眠时间:</strong>3-5岁:10-13小时;6-13岁:9-11小时;14-17岁:8-10小时。</p>
- <h2>三、运动——免疫系统的"激活开关"</h2>
- <p>适度的运动可以促进免疫细胞的循环,提高免疫系统的"巡逻"效率。每天至少60分钟的户外活动,不仅能增强免疫力,还能促进维生素D的合成。</p>
- <p><strong>💡 温馨提示:</strong>免疫力不是越强越好。平衡才是关键。过度保护的环境反而可能让免疫系统"训练不足"。</p>`,
- tags: '免疫力,营养,睡眠,运动,儿童健康',
- readTime: 6,
- categoryId: 1,
- dimension: 'body',
- difficultyLevel: 2
- },
- {
- title: '肠道菌群与营养吸收的奥秘',
- summary: '肠道菌群被称为人体的"第二基因组",它们不仅影响消化吸收,更深刻影响着孩子的生长发育、免疫力和甚至情绪。',
- content: `<h2>一、肠道菌群——看不见的"器官"</h2>
- <p>人体肠道内居住着超过100万亿个微生物,种类超过1000种,总重量约1.5公斤。它们共同构成了肠道菌群,被称为人体的<strong>"第二基因组"</strong>。</p>
- <h2>二、菌群如何影响营养吸收</h2>
- <p>肠道菌群在营养吸收中扮演着至关重要的角色:</p>
- <ul>
- <li><strong>分解膳食纤维:</strong>有益菌将膳食纤维分解为短链脂肪酸,为肠道细胞提供能量</li>
- <li><strong>合成维生素:</strong>肠道菌群能合成维生素K、B族维生素等人体必需营养素</li>
- <li><strong>促进矿物质吸收:</strong>特定的菌群环境有助于钙、镁、铁等矿物质的吸收</li>
- <li><strong>分解抗营养物质:</strong>帮助分解食物中的抗营养物质,释放更多营养素</li>
- </ul>
- <h2>三、菌群失衡的信号</h2>
- <p>当孩子出现以下情况时,可能是肠道菌群失衡的信号:消化不良、便秘或腹泻、反复过敏、免疫力低下、睡眠不安、情绪波动。</p>
- <h2>四、如何维护健康的肠道菌群</h2>
- <p><strong>1. 多样化的饮食:</strong>摄入多种类食物,为不同菌群提供丰富的营养来源。</p>
- <p><strong>2. 富含膳食纤维的食物:</strong>全谷物、豆类、蔬菜、水果。</p>
- <p><strong>3. 发酵食品:</strong>无糖酸奶、酸菜、纳豆等天然富含益生菌的食物。</p>
- <p><strong>4. 减少不必要的抗生素使用:</strong>抗生素会无差别杀伤肠道菌群。</p>
- <p><strong>🌟 核心观点:</strong>健康的肠道菌群是孩子健康成长的基础。从小维护肠道健康,就是在为孩子的未来健康"投资"。</p>`,
- tags: '肠道菌群,营养吸收,消化,益生菌',
- readTime: 7,
- categoryId: 1,
- dimension: 'body',
- difficultyLevel: 3
- },
- // ===== 心 (Mind) =====
- {
- title: '儿童情绪管理:从认知到调节',
- summary: '情绪管理能力是孩子未来幸福力的基石。本文帮助家长理解儿童情绪发展的规律,掌握科学的情绪引导方法。',
- content: `<h2>一、认识儿童的情绪世界</h2>
- <p>孩子的情绪不是"无理取闹",而是他们表达需求和感受的自然方式。3-6岁的孩子正处于情绪认知的关键期,他们需要成人的帮助来识别、命名和调节自己的情绪。</p>
- <h2>二、情绪管理三步法</h2>
- <p><strong>第一步:识别情绪</strong> — 帮助孩子给自己的情绪"贴标签"。"你现在很生气,因为积木倒了,对吗?"</p>
- <p><strong>第二步:接纳情绪</strong> — 让孩子知道所有情绪都是正常的。"生气是可以的,每个人都有生气的时候。"</p>
- <p><strong>第三步:调节情绪</strong> — 教给孩子具体的情绪调节策略。深呼吸、数到十、画画、运动、寻求拥抱。</p>
- <h2>三、家长的"情绪教练"角色</h2>
- <p>家长是孩子最好的情绪教练。当家长能够冷静面对自己的情绪,用温和而坚定的方式引导孩子时,孩子就在潜移默化中学习情绪管理。</p>
- <p><strong>💡 实用技巧:</strong>创建"冷静角"——在家里的一个角落放上柔软的靠垫、绘本和减压玩具,当孩子情绪激动时,可以邀请TA去冷静角"休息一下"。</p>`,
- tags: '情绪管理,儿童心理,情商,亲子沟通',
- readTime: 6,
- categoryId: 2,
- dimension: 'mind',
- difficultyLevel: 2
- },
- {
- title: '如何培养孩子的安全感',
- summary: '安全感是儿童心理健康发展的基石。有安全感的孩子更勇于探索世界,更能建立健康的人际关系。',
- content: `<h2>一、什么是安全感?</h2>
- <p>安全感是儿童对环境和人际关系的基本信任感。有安全感的孩子相信:我是被爱的、我是有价值的、这个世界是安全的。这种感觉来源于早期与主要照顾者之间的稳定、可预测的互动。</p>
- <h2>二、安全感的形成关键期</h2>
- <p><strong>0-1岁:</strong>信任 vs 不信任。当孩子的需求(饥饿、不适、害怕)得到及时、一致的回应时,信任感就开始建立。</p>
- <p><strong>1-3岁:</strong>自主 vs 羞怯。在安全的环境中适度探索,孩子发展出自主感和自信心。</p>
- <p><strong>3-6岁:</strong>主动 vs 内疚。被鼓励尝试新事物、被允许犯错的孩子,更勇于主动探索。</p>
- <h2>三、培养安全感的日常实践</h2>
- <p><strong>1. 高质量的陪伴:</strong>每天15-20分钟的"专属时间",放下手机,全身心关注孩子。</p>
- <p><strong>2. 一致性的回应:</strong>对孩子的情绪和需求保持一致的回应方式,建立可预测的环境。</p>
- <p><strong>3. 温和而坚定的界限:</strong>安全不是无原则的放纵,而是在明确的界限内给予自由。</p>
- <p><strong>4. 接纳不完美:</strong>允许孩子犯错,也允许自己做"足够好"的父母。</p>
- <p><strong>🌟 关键认识:</strong>安全感不是"宠"出来的,而是在充满爱和规则的环境中自然生长的。</p>`,
- tags: '安全感,儿童心理,亲子关系,依恋',
- readTime: 7,
- categoryId: 2,
- dimension: 'mind',
- difficultyLevel: 2
- },
- {
- title: '家庭氛围对孩子心理健康的影响',
- summary: '家庭是孩子心理成长的第一环境。良好的家庭氛围是孩子心理健康最有力的保护因素。',
- content: `<h2>一、家庭氛围的"隐形力量"</h2>
- <p>家庭氛围就像空气——看不见、摸不着,却无时无刻不在影响着孩子的心理发展。研究表明,家庭氛围对儿童心理健康的影响甚至大于物质条件和教育资源。</p>
- <h2>二、三种家庭氛围类型</h2>
- <p><strong>温暖型家庭:</strong>成员之间相互尊重、支持、沟通顺畅。孩子在这种环境中更容易形成积极、自信、友善的性格。</p>
- <p><strong>冲突型家庭:</strong>频繁的争吵、冷战、指责。孩子容易产生焦虑、抑郁、行为问题。</p>
- <p><strong>冷漠型家庭:</strong>成员之间缺乏情感交流,各自为政。孩子可能感到孤独、不被关注。</p>
- <h2>三、营造积极家庭氛围的实践</h2>
- <p><strong>1. 定期的家庭仪式:</strong>每周一次家庭游戏夜、每月一次家庭会议,创造共同的积极体验。</p>
- <p><strong>2. 积极的沟通模式:</strong>多使用"我感受"句式("我感到开心当你……"),少用"你总是"指责句式。</p>
- <p><strong>3. 夫妻关系优先:</strong>和谐的夫妻关系是给孩子最好的心理礼物。</p>
- <p><strong>4. 允许表达负面情绪:</strong>家庭成员可以安全地表达愤怒、悲伤、失望,而不被评判。</p>
- <p><strong>💡 记住:</strong>完美的家庭不存在,但"足够好"的家庭氛围足以滋养孩子健康成长。</p>`,
- tags: '家庭氛围,心理健康,亲子关系,家庭教育',
- readTime: 6,
- categoryId: 2,
- dimension: 'mind',
- difficultyLevel: 2
- },
- // ===== 智 (Wisdom) =====
- {
- title: '培养孩子成长型思维的5个方法',
- summary: '成长型思维是孩子面对挑战、持续进步的核心心理素质。本文提供5个实用方法,帮助家长在日常教育中培养孩子的成长型思维。',
- content: `<h2>什么是成长型思维?</h2>
- <p>斯坦福大学心理学教授卡罗尔·德韦克提出的成长型思维(Growth Mindset)认为:智力不是固定不变的,而是可以通过努力和学习不断发展的。与之相对的是固定型思维——认为自己的能力是天生注定的。</p>
- <h2>5个培养方法</h2>
- <p><strong>方法1:表扬努力而非聪明</strong></p>
- <p>不要说"你真聪明",而要说"我看到你很努力,这个方法很好"。表扬过程而非结果,让孩子明白努力比天赋更重要。</p>
- <p><strong>方法2:把"我不会"改成"我还不会"</strong></p>
- <p>简单的语言改变,传递的是"能力可以增长"的信念。"我还不会"暗示着通过学习就可以掌握。</p>
- <p><strong>方法3:拥抱失败,把它当"学习的机会"</strong></p>
- <p>当孩子失败时,不是批评或安慰"没关系",而是一起分析:"这次我们学到了什么?下次可以怎么做?"</p>
- <p><strong>方法4:设立"挑战目标"而非"表现目标"</strong></p>
- <p>鼓励孩子设立挑战自己的目标("我要比上次进步"),而不是和别人比较的目标("我要考第一")。</p>
- <p><strong>方法5:示范成长型思维</strong></p>
- <p>家长自己面对困难时的态度,是孩子最好的教材。在孩子面前说"这个有点难,但我可以试试看",而不是"这个我不行"。</p>`,
- tags: '成长型思维,教育方法,学习力,自信心',
- readTime: 7,
- categoryId: 4,
- dimension: 'wisdom',
- difficultyLevel: 2
- },
- {
- title: '注意力不集中,先查肠道再谈训练',
- summary: '孩子上课走神、做作业拖拉,很多家长第一时间想到"专注力训练"。但你知道吗?注意力问题和肠道健康密切相关。',
- content: `<h2>一、一个常被忽视的视角</h2>
- <p>"老师反映孩子上课总是走神"、"写作业10分钟就坐不住了"——面对这些问题,家长的第一反应往往是"专注力训练"或者"是不是有多动症"。</p>
- <p>但你可能不知道,肠道菌群失衡也可能是注意力问题的"幕后推手"。</p>
- <h2>二、脑肠轴:肠道和大脑的"秘密通道"</h2>
- <p>肠道和大脑之间通过"脑肠轴"(Gut-Brain Axis)紧密相连。肠道菌群通过以下途径影响大脑功能:</p>
- <ul>
- <li><strong>神经递质:</strong>肠道菌群参与合成多巴胺、血清素等影响注意力和情绪的神经递质</li>
- <li><strong>炎症因子:</strong>菌群失衡导致的慢性低度炎症可能影响大脑前额叶功能</li>
- <li><strong>营养吸收:</strong>菌群影响铁、锌等对注意力至关重要的营养素的吸收</li>
- </ul>
- <h2>三、综合调理方案</h2>
- <p><strong>1. 排查肠道健康:</strong>如果孩子有消化不良、便秘、过敏等问题,建议先关注肠道健康。</p>
- <p><strong>2. 优化饮食习惯:</strong>减少精制糖和添加剂,增加富含膳食纤维的食物。</p>
- <p><strong>3. 保证充足睡眠:</strong>睡眠不足会严重影响前额叶功能,降低注意力水平。</p>
- <p><strong>4. 科学进行专注力训练:</strong>在肠道健康的基础上,结合专业的专注力训练方法。</p>
- <p><strong>🌟 整体视角:</strong>注意力是一个系统工程——身体、情绪、环境、营养都会影响它。从肠道入手,找到根源,才是真正的解决之道。</p>`,
- tags: '注意力,脑肠轴,肠道菌群,专注力,学习',
- readTime: 6,
- categoryId: 5,
- dimension: 'wisdom',
- difficultyLevel: 3
- },
- {
- title: '高效学习的科学方法',
- summary: '不是孩子不努力,而是方法没用对。本文从认知科学角度,分享经过验证的高效学习方法,帮助孩子学得更轻松、更有效。',
- content: `<h2>一、为什么有些孩子学得快?</h2>
- <p>学习效率的差异,很大程度上源于学习方法的差异。认知科学研究发现,高效学习并非依靠"天赋",而是遵循大脑的学习规律。</p>
- <h2>二、4个科学学习方法</h2>
- <p><strong>方法1:间隔重复(Spaced Repetition)</strong></p>
- <p>与其一次性长时间学习,不如把学习分散到不同时间段。大脑在"遗忘-回忆"的过程中,记忆会更加牢固。推荐使用"1-3-7"法则:学习后1天、3天、7天各复习一次。</p>
- <p><strong>方法2:主动回忆(Active Recall)</strong></p>
- <p>阅读不是最好的学习方式。合上书,尝试回忆刚才学过的内容——这个过程才是真正的学习。研究表明,主动回忆的效果远超被动阅读。</p>
- <p><strong>方法3:费曼学习法</strong></p>
- <p>尝试用最简单的语言,把学到的知识讲给别人听。如果你能用通俗的语言解释清楚,说明你是真的理解了。</p>
- <p><strong>方法4:交错练习(Interleaving)</strong></p>
- <p>不要长时间练习同一类题目,而是混合不同类型的问题。虽然感觉更难,但学习效果更好。</p>
- <p><strong>💡 给家长的建议:</strong>帮助孩子建立"学习日志",记录每天学到的新知识和疑问。这既是主动回忆的过程,也是培养元认知能力的有效工具。</p>`,
- tags: '学习方法,认知科学,高效学习,记忆力',
- readTime: 7,
- categoryId: 4,
- dimension: 'wisdom',
- difficultyLevel: 3
- },
- // ===== 行 (Action) =====
- {
- title: '如何帮助孩子建立良好习惯',
- summary: '习惯决定命运。本文从行为心理学角度,提供一套系统的方法论,帮助家长科学地培养孩子的良好习惯。',
- content: `<h2>一、习惯的形成机制</h2>
- <p>习惯的形成遵循"提示→渴求→回应→奖赏"的四步循环。理解这个循环,就能科学地设计习惯培养方案。</p>
- <h2>二、培养习惯的4个法则</h2>
- <p><strong>法则1:让习惯显而易见</strong></p>
- <p>将新习惯与已有的日常活动绑定。例如:"刷牙之后就读10分钟书"——利用已有习惯作为新习惯的"触发器"。</p>
- <p><strong>法则2:让习惯有吸引力</strong></p>
- <p>将"应该做的事"与"喜欢做的事"结合。例如:一边听喜欢的音频故事,一边整理房间。</p>
- <p><strong>法则3:让习惯简单易行</strong></p>
- <p>从"微习惯"开始——每天只做2分钟。想要培养阅读习惯?先从"每天读一页书"开始。一个行动一旦开始,继续下去就会容易得多。</p>
- <p><strong>法则4:让习惯令人愉悦</strong></p>
- <p>即时奖励是习惯养成的关键。完成一个小习惯后,给自己一个即时的正面反馈。使用浠艾福的任务积分系统就是一个很好的方式。</p>
- <h2>三、21天养成习惯?</h2>
- <p>研究表明,习惯养成的时间不是固定的21天,而是因人而异、因习惯而异。简单的习惯可能在18天左右形成,复杂的习惯可能需要254天。重要的是坚持,而不是追求速度。</p>`,
- tags: '习惯养成,行为心理学,自律,微习惯',
- readTime: 6,
- categoryId: 3,
- dimension: 'action',
- difficultyLevel: 2
- },
- {
- title: '亲子沟通的艺术——从"说话"到"对话"',
- summary: '很多亲子冲突源于沟通方式的问题。本文分享实用的沟通技巧,帮助家长从"说教"转向真正的"对话"。',
- content: `<h2>一、为什么沟通这么难?</h2>
- <p>"我跟孩子说了多少遍了,他就是不听!"这是很多家长的困扰。但问题往往不在于"说了多少遍",而在于"怎么说"。</p>
- <h2>二、从"说教"到"对话"的转变</h2>
- <p><strong>传统说教模式:</strong>家长说→孩子听→孩子服从或者反抗</p>
- <p><strong>对话模式:</strong>家长倾听→理解孩子的视角→共同寻找解决方案</p>
- <h2>三、实用沟通技巧</h2>
- <p><strong>1. 积极倾听:</strong>放下手中的事情,眼神接触,点头回应。不要急着给建议,先让孩子把话说完。</p>
- <p><strong>2. "我信息"表达法:</strong>用"我感到……因为……"代替"你总是……"。例如:"我感到有点着急,因为我们约定的时间快到了"而不是"你总是这么拖拉"。</p>
- <p><strong>3. 选择权:</strong>给孩子有限的选择。"你想先做数学作业还是先背单词?"——这比"赶紧去做作业"有效得多。</p>
- <p><strong>4. 描述而非评价:</strong>说"我看到地上有玩具"而不是"你怎么又把玩具扔得到处都是"。</p>
- <p><strong>💡 日常练习:</strong>每天找一个"黄金10分钟"——在孩子睡前或放学路上,用开放式的提问开启对话:"今天有什么想和我分享的吗?"</p>`,
- tags: '亲子沟通,家庭教育,倾听,对话技巧',
- readTime: 6,
- categoryId: 3,
- dimension: 'action',
- difficultyLevel: 2
- },
- {
- title: '从"要我学"到"我要学"——自驱力培养指南',
- summary: '内在驱动力是孩子持续学习成长的真正动力。本文从自我决定理论出发,解析如何培养孩子的自主感和内在动机。',
- content: `<h2>一、什么是自驱力?</h2>
- <p>自驱力(Intrinsic Motivation)是指个体出于兴趣和内在满足感而从事某项活动的动力,而非因为外部奖励或压力。有自驱力的孩子学习是因为"我想学",而不是"爸妈让我学"。</p>
- <h2>二、自驱力的3个核心要素</h2>
- <p>根据自我决定理论(Self-Determination Theory),内在动机的养成需要满足三个基本心理需求:</p>
- <p><strong>自主感(Autonomy):</strong>孩子感觉自己有选择权和主动权。即使是有限的选择,也能显著提升内在动机。</p>
- <p><strong>胜任感(Competence):</strong>孩子相信自己有能力完成某件事。适度的挑战和正向的反馈是建立胜任感的关键。</p>
- <p><strong>归属感(Relatedness):</strong>孩子感觉到被接纳、被理解。良好的亲子关系和师生关系是自驱力的"安全基地"。</p>
- <h2>三、培养自驱力的实践</h2>
- <p><strong>1. 减少外部控制:</strong>减少"如果你做……就给你……"的交换式激励。过多外部奖励会削弱内在动力。</p>
- <p><strong>2. 提供有意义的理由:</strong>当必须做某件事时,解释为什么这件事是重要的、有意义。</p>
- <p><strong>3. 关注过程而非结果:</strong>问"今天学到了什么?"而不是"考了多少分?"</p>
- <p><strong>4. 允许自主安排:</strong>在合理范围内,让孩子自己安排学习时间和顺序。</p>
- <p><strong>🌟 关键词:</strong>自驱力不是培养出来的,而是被保护出来的。每个孩子天生都有探索和学习的内在动力,家长的责任是不要用外部的压力扼杀了它。</p>`,
- tags: '自驱力,内在动机,自主学习,教育理念',
- readTime: 7,
- categoryId: 4,
- dimension: 'action',
- difficultyLevel: 2
- },
- // ===== 富 (Wealth) =====
- {
- title: '儿童财商教育从几岁开始?',
- summary: '财商教育不是让孩子"认识钱",而是帮他们建立正确的金钱观和价值观。不同年龄段的孩子适合不同的财商启蒙方式。',
- content: `<h2>一、为什么要进行财商教育?</h2>
- <p>财商(Financial Quotient)与智商、情商并列为现代社会三大素质。从小进行财商教育,帮助孩子建立正确的金钱观、消费观和价值观,是送给孩子受益终身的礼物。</p>
- <h2>二、分龄财商教育指南</h2>
- <p><strong>3-5岁:认识钱的概念</strong></p>
- <p>认识不同面额的硬币和纸币,理解"钱是用来买东西的"。通过"过家家"游戏模拟购物场景。</p>
- <p><strong>6-8岁:学习"等待"和"选择"</strong></p>
- <p>理解"想要"和"需要"的区别。学会为了更大的目标而放弃眼前的满足。零花钱制度可以开始引入。</p>
- <p><strong>9-12岁:钱的管理与计划</strong></p>
- <p>学习记账,了解收入、支出、储蓄的概念。可以设立"三个罐子"——消费罐、储蓄罐、分享罐。</p>
- <p><strong>13岁以上:探索"创造价值"</strong></p>
- <p>通过打工、创业等实践理解"钱是通过创造价值获得的"。学习基本的投资概念。</p>
- <h2>三、家庭财商教育的基本原则</h2>
- <p><strong>1. 用生活教,不说教:</strong>去超市购物、交水电费、计划旅行预算——日常生活是最好的财商教室。</p>
- <p><strong>2. 给零花钱,更要教管理:</strong>零花钱是教育的工具,不是奖励或惩罚的手段。</p>
- <p><strong>3. 谈钱不避讳:</strong>让孩子参与家庭财务话题的讨论(适龄范围内),理解金钱在生活中的角色。</p>`,
- tags: '财商教育,零花钱,金钱观,儿童理财',
- readTime: 6,
- categoryId: 1,
- dimension: 'wealth',
- difficultyLevel: 2
- },
- {
- title: '压岁钱怎么管——孩子的第一堂理财课',
- summary: '每年春节后的压岁钱,是进行财商教育的绝佳机会。本文提供实用的压岁钱管理方案,让压岁钱成为孩子学习理财的第一课。',
- content: `<h2>一、压岁钱——被忽视的教育资源</h2>
- <p>春节过后,孩子们往往会收到一笔不小的压岁钱。很多家长选择"代为保管"或者直接存入银行。但压岁钱其实是绝佳的财商教育素材——它真实、及时、有情感连接。</p>
- <h2>二、"四罐法"压岁钱管理</h2>
- <p>将压岁钱分为四个"罐子",每个罐子有明确的用途和比例:</p>
- <p><strong>1. 消费罐(30%):</strong>可以自由支配的钱——买喜欢的玩具、零食、文具。让孩子体验自主消费的乐趣和后果。</p>
- <p><strong>2. 储蓄罐(40%):</strong>存起来实现较大目标的钱——买一件较贵的物品、为未来准备。让孩子体会"等待"的价值。</p>
- <p><strong>3. 投资罐(20%):</strong>让钱"工作"的钱——可以存入银行或货币基金,和孩子一起观察利息的增长。</p>
- <p><strong>4. 分享罐(10%):</strong>帮助他人的钱——给家人买礼物、捐赠给需要帮助的人。培养孩子的同理心和社会责任感。</p>
- <h2>三、家长的角色</h2>
- <p>家长不是"管理者",而是"指导者"。和孩子一起制定压岁钱计划,定期回顾执行情况,在必要时给予建议而不是命令。</p>
- <p><strong>💡 关键原则:</strong>允许孩子犯错。10块钱买了一个"后悔"的玩具,损失很小但教训很深刻。小时候犯错成本低,是为了长大后不犯大错。</p>`,
- tags: '压岁钱,理财教育,财商,储蓄,消费',
- readTime: 5,
- categoryId: 1,
- dimension: 'wealth',
- difficultyLevel: 1
- },
- {
- title: '如何跟孩子谈钱——家庭财商教育指南',
- summary: '很多家长觉得和孩子"谈钱"很尴尬。本文提供系统的家庭财商教育框架,帮助家长自然、科学地开展金钱教育。',
- content: `<h2>一、为什么要和孩子谈钱?</h2>
- <p>金钱是生活中不可或缺的一部分。回避"谈钱"并不会让孩子对金钱有正确的认识,反而可能让他们从其他不可靠的渠道获取信息。在家庭中开放、健康地讨论金钱,是财商教育的基础。</p>
- <h2>二、家庭财商教育的三根支柱</h2>
- <p><strong>1. 劳动创造价值</strong></p>
- <p>让孩子理解钱不是从"取款机"里冒出来的,而是通过劳动和创造价值获得的。鼓励孩子参与家务并获得零花钱,或者通过自己的创意(如手工艺品)创造价值。</p>
- <p><strong>2. 预算和计划</strong></p>
- <p>教孩子做简单的预算。例如:去超市前列出购物清单,预算总金额。这帮助孩子理解"资源有限,需要合理分配"。</p>
- <p><strong>3. 延迟满足</strong></p>
- <p>"今天的一颗糖 vs 明天的一盒糖"——通过具体的场景让孩子理解延迟满足的概念。研究表明,能够延迟满足的孩子在未来更容易成功。</p>
- <h2>三、不同场景的"谈钱"技巧</h2>
- <p><strong>逛超市时:</strong>"我们今天有100元的预算,你来帮妈妈算算怎么买最合理?"</p>
- <p><strong>收到礼物时:</strong>"送礼物是表达爱的方式,比花钱多少更重要。"</p>
- <p><strong>遇到广告时:</strong>"广告说这个玩具最好玩,你觉得是真的吗?为什么?"——培养批判性消费思维。</p>
- <p><strong>🌟 核心理念:</strong>财商教育不是教孩子"省钱"或"赚钱",而是教他们做一个有责任感、有判断力、有规划能力的"金钱管理者"。</p>`,
- tags: '财商,金钱观,家庭教育,价值观',
- readTime: 6,
- categoryId: 1,
- dimension: 'wealth',
- difficultyLevel: 2
- }
- ];
- // ============ 工具函数 ============
- /**
- * 通过 API 登录 admin 并注入 localStorage
- * 绕过滑块验证码,直接调用 POST /api/admin-auth/login-by-password
- * 默认管理员: 手机号 13800138000, 密码 admin123 (DatabaseInitializer 创建)
- */
- async function loginAdminViaAPI(page) {
- const res = await page.evaluate(async ({ apiBase }) => {
- try {
- const resp = await fetch(apiBase + '/api/admin-auth/login-by-password', {
- method: 'POST',
- headers: { 'Content-Type': 'application/json' },
- body: JSON.stringify({ phone: '13800138000', password: 'admin123' })
- });
- return await resp.json();
- } catch (e) {
- return { code: 500, message: e.message };
- }
- }, { apiBase: BASE_URL });
- if (res && res.code === 200 && res.data && res.data.token) {
- // 注入 localStorage
- await page.evaluate((data) => {
- localStorage.setItem('token', data.token);
- localStorage.setItem('adminId', data.adminId || '');
- localStorage.setItem('adminName', data.realName || 'admin');
- localStorage.setItem('role', data.role || 'admin');
- localStorage.setItem('roles', JSON.stringify(data.roles || [data.role || 'admin']));
- }, res.data);
- return res.data.token;
- }
- // API 失败时回退到 UI 登录
- return await loginAdminViaUI(page);
- }
- /**
- * 通过 UI 登录(回退方案)
- * Login.vue 路由: /login,默认管理员手机号 13800138000
- */
- async function loginAdminViaUI(page) {
- await page.goto('/login', { waitUntil: 'networkidle', timeout: 30000 });
- await page.waitForTimeout(2000);
- // 绕过滑块验证码: Vue 组件设置 captchaPassed
- await page.evaluate(() => {
- const sliderCaptcha = document.querySelector('.slider-captcha');
- const loginForm = document.querySelector('.login-form');
- if (sliderCaptcha) {
- // 尝试触发 captcha 验证通过
- const captchaComponent = sliderCaptcha.__vue__;
- if (captchaComponent && captchaComponent.onSuccess) {
- captchaComponent.onSuccess();
- }
- }
- // 直接移除 el-button disabled
- document.querySelectorAll('.el-button').forEach(btn => {
- if (btn.textContent.includes('登')) {
- btn.disabled = false;
- }
- });
- });
- await page.waitForTimeout(500);
- // 账号输入框(填手机号 13800138000)
- const inputs = page.locator('input');
- const count = await inputs.count();
- if (count > 0) {
- await inputs.first().fill('13800138000');
- if (count > 1) {
- await inputs.nth(1).fill('admin123');
- }
- }
- // 密码输入框
- const pwdInputs = page.locator('input[type="password"]');
- if (await pwdInputs.count() > 0) {
- await pwdInputs.first().fill('admin123');
- }
- await page.waitForTimeout(500);
- // 触发 captchaPassed(Vue2 组件注入)
- await page.evaluate(() => {
- const app = document.querySelector('#app');
- if (app && app.__vue__) {
- function findCaptcha(vm) {
- if (vm.captchaPassed !== undefined) { vm.captchaPassed = true; return true; }
- if (vm.$children) { return vm.$children.some(findCaptcha); }
- return false;
- }
- findCaptcha(app.__vue__);
- }
- });
- await page.waitForTimeout(300);
- // 点击登录
- const loginBtn = page.locator('.login-btn, .el-button--primary, button[type="submit"]');
- if (await loginBtn.first().isVisible({ timeout: 3000 }).catch(() => false)) {
- await loginBtn.first().click();
- }
- // 等待登录完成
- await page.waitForTimeout(5000);
- const token = await page.evaluate(() => localStorage.getItem('token'));
- return token;
- }
- /**
- * 通过 API 创建文章
- */
- async function createArticle(page, token, article) {
- const { title, summary, content, tags, readTime, categoryId, dimension, difficultyLevel } = article;
- const payload = {
- title,
- content,
- summary,
- tags,
- categoryId,
- contentType: 'article',
- visibility: 'public',
- author: '亿图腾·浠艾福',
- readTime: readTime || 6,
- difficultyLevel: difficultyLevel || 2,
- relatedDimensions: [dimension],
- status: 'published'
- };
- const res = await page.evaluate(async ({ apiBase, token, payload }) => {
- try {
- const resp = await fetch(apiBase + '/api/admin/articles/create', {
- method: 'POST',
- headers: {
- 'Content-Type': 'application/json',
- 'Authorization': 'Bearer ' + token
- },
- body: JSON.stringify(payload)
- });
- return await resp.json();
- } catch (e) {
- return { code: 500, message: e.message };
- }
- }, { apiBase: BASE_URL, token, payload });
- return res;
- }
- // ============ 测试 ============
- test.describe('【批量发布】五维维度文章', () => {
- test('登录admin并批量发布15篇五维文章', async ({ page }) => {
- test.setTimeout(300000);
- // 先打开一个页面,确保 page context 可用
- await page.goto('/login', { waitUntil: 'domcontentloaded', timeout: 30000 });
- const token = await loginAdminViaAPI(page);
- expect(token).toBeTruthy();
- console.log('✅ 已通过API登录获取JWT token');
- // 3. 批量创建文章
- const results = [];
- for (let i = 0; i < DIMENSION_ARTICLES.length; i++) {
- const article = DIMENSION_ARTICLES[i];
- const dimLabel = { body: '身', mind: '心', wisdom: '智', action: '行', wealth: '富' }[article.dimension] || article.dimension;
- const res = await createArticle(page, token, article);
- const success = res && res.code === 200;
- const articleId = res?.data?.id || '-';
- results.push({ index: i + 1, dim: dimLabel, title: article.title, success, articleId });
- console.log(` [${i + 1}/15] [${dimLabel}] ${success ? '✅' : '❌'} ${article.title} → ID=${articleId}`);
- expect(success).toBeTruthy();
- }
- // 4. 输出汇总
- const successCount = results.filter(r => r.success).length;
- console.log(`\n📊 汇总: ${successCount}/${results.length} 篇文章发布成功`);
- // 全部成功则通过
- expect(successCount).toBe(15);
- });
- });
|