-- 添加竖屏课程测试数据 -- 执行方式:psql -U your_username -d your_database -f add_vertical_screen_course.sql -- 或者:cd backend && psql $DATABASE_URL -f prisma/add_vertical_screen_course.sql -- ============================================================ -- 竖屏课程:高效沟通的艺术 -- ============================================================ -- 插入竖屏课程 INSERT INTO courses (id, title, subtitle, description, type, total_nodes, created_at) VALUES ( 'course_vertical_001', '高效沟通的艺术', '掌握职场沟通的核心技巧', '通过真实案例和实用方法,帮助你提升沟通能力,在职场中更游刃有余。', 'vertical_screen', 3, NOW() ) ON CONFLICT (id) DO UPDATE SET title = EXCLUDED.title, subtitle = EXCLUDED.subtitle, description = EXCLUDED.description, type = 'vertical_screen', total_nodes = EXCLUDED.total_nodes; -- ============================================================ -- 小节 1:倾听的艺术 -- ============================================================ -- 插入节点 1 INSERT INTO course_nodes (id, course_id, title, subtitle, order_index, duration, created_at) VALUES ( 'node_vertical_001_01', 'course_vertical_001', '倾听的艺术', '学会真正听懂对方', 0, 8, NOW() ) ON CONFLICT (id) DO UPDATE SET course_id = EXCLUDED.course_id, title = EXCLUDED.title, subtitle = EXCLUDED.subtitle, order_index = EXCLUDED.order_index, duration = EXCLUDED.duration; -- 为节点 1 创建富文本内容(竖屏课程使用 rich_text 字段) INSERT INTO node_slides (id, node_id, slide_type, order_index, content, effect, created_at) VALUES ( 'slide_vertical_001_01', 'node_vertical_001_01', 'text', 0, '{"rich_text": "
真正的沟通不是说话,而是倾听。学会倾听,是高效沟通的第一步。
很多人认为沟通就是表达自己的观点,但实际上,倾听才是沟通的核心。只有真正听懂对方,才能做出有效的回应。
第一层:听到 - 你听到了对方的声音,但可能没有理解。
第二层:听懂 - 你理解了对方说的内容,知道了表面意思。
第三层:听透 - 你理解了对方的情绪、需求和背后的真实意图。
1. 保持专注,避免分心
2. 用眼神和肢体语言表达关注
3. 不打断对方,让对方说完
4. 用提问确认理解,而不是急于回应
5. 关注对方的情绪,而不只是内容
"}'::jsonb, 'fade_in', NOW() ) ON CONFLICT (id) DO UPDATE SET slide_type = EXCLUDED.slide_type, order_index = EXCLUDED.order_index, content = EXCLUDED.content, effect = EXCLUDED.effect; -- ============================================================ -- 小节 2:表达的技巧 -- ============================================================ -- 插入节点 2 INSERT INTO course_nodes (id, course_id, title, subtitle, order_index, duration, created_at) VALUES ( 'node_vertical_001_02', 'course_vertical_001', '表达的技巧', '让你的话更有说服力', 1, 10, NOW() ) ON CONFLICT (id) DO UPDATE SET course_id = EXCLUDED.course_id, title = EXCLUDED.title, subtitle = EXCLUDED.subtitle, order_index = EXCLUDED.order_index, duration = EXCLUDED.duration; -- 为节点 2 创建富文本内容 INSERT INTO node_slides (id, node_id, slide_type, order_index, content, effect, created_at) VALUES ( 'slide_vertical_001_02', 'node_vertical_001_02', 'text', 0, '{"rich_text": "清晰、有力的表达能让你的观点更容易被接受。掌握表达的技巧,让沟通更高效。
好的表达需要清晰的结构。推荐使用金字塔原理:先结论,后原因,再案例。
结论先行 - 先说你的核心观点
分层说明 - 用3个要点支撑你的观点
案例佐证 - 用具体案例让观点更有说服力
用词的选择会直接影响沟通效果:
❌ \"我觉得可能这样会好一点\"
✅ \"我建议采用这个方案,原因有三点\"
用肯定的语言替代模糊的表达,会让你的观点更可信。
除了语言,肢体语言也至关重要:
• 眼神接触 - 保持适度的眼神交流,表达自信
• 姿态 - 保持开放的身体姿态,不要交叉手臂
• 语速 - 控制语速,重要内容可以放慢强调
• 手势 - 适度的手势能增强表达力
"}'::jsonb, 'fade_in', NOW() ) ON CONFLICT (id) DO UPDATE SET slide_type = EXCLUDED.slide_type, order_index = EXCLUDED.order_index, content = EXCLUDED.content, effect = EXCLUDED.effect; -- ============================================================ -- 小节 3:冲突的处理 -- ============================================================ -- 插入节点 3 INSERT INTO course_nodes (id, course_id, title, subtitle, order_index, duration, created_at) VALUES ( 'node_vertical_001_03', 'course_vertical_001', '冲突的处理', '在分歧中寻找共识', 2, 12, NOW() ) ON CONFLICT (id) DO UPDATE SET course_id = EXCLUDED.course_id, title = EXCLUDED.title, subtitle = EXCLUDED.subtitle, order_index = EXCLUDED.order_index, duration = EXCLUDED.duration; -- 为节点 3 创建富文本内容 INSERT INTO node_slides (id, node_id, slide_type, order_index, content, effect, created_at) VALUES ( 'slide_vertical_001_03', 'node_vertical_001_03', 'text', 0, '{"rich_text": "冲突是沟通中不可避免的。关键在于如何将冲突转化为建设性的对话。
大多数冲突不是观点的对立,而是需求的不匹配。找到双方的真实需求,是解决冲突的关键。
冲突通常源于:
• 利益的不一致
• 价值观的差异
• 沟通的误解
• 情绪的干扰
第一步:冷静下来
情绪激动时不要沟通。给自己和对方一些时间,等情绪平复后再讨论。
第二步:理解对方
尝试站在对方的角度思考:\"如果我是他,为什么会这样想?\"理解对方的立场和需求。
第三步:寻找共赢
不要只想着\"我赢\",而是寻找\"我们都赢\"的解决方案。通常有第三种选择比妥协更好。
• 使用\"我\"的表达方式,而不是\"你\":\"我感到...\" 而不是 \"你总是...\"
• 关注问题本身,而不是攻击对方
• 承认对方的感受:\"我理解你的感受\"
• 寻找共同目标:\"我们都是为了...\"
• 如果无法解决,可以暂时搁置,之后再讨论
"}'::jsonb, 'fade_in', NOW() ) ON CONFLICT (id) DO UPDATE SET slide_type = EXCLUDED.slide_type, order_index = EXCLUDED.order_index, content = EXCLUDED.content, effect = EXCLUDED.effect; -- ============================================================ -- 验证数据 -- ============================================================ SELECT c.id as course_id, c.title as course_title, c.type, c.total_nodes, n.id as node_id, n.title as node_title, n.order_index, n.duration, (SELECT COUNT(*) FROM node_slides WHERE node_id = n.id) as slide_count FROM courses c LEFT JOIN course_nodes n ON c.id = n.course_id WHERE c.id = 'course_vertical_001' ORDER BY n.order_index;