/** * 静态课程数据 */ // 入门路径卡片 const BEGINNER_PATH = [ { id: 'path_1', title: '线条练习', desc: '学会控笔,从直线到曲线', icon: '✏️', color: '#6C8CFF', courseId: 'c_001' }, { id: 'path_2', title: '形状组合', desc: '圆形、三角形、方形的变换', icon: '⬡', color: '#FFB84D', courseId: 'c_002' }, { id: 'path_3', title: '临摹入门', desc: '跟着范例一步步临摹', icon: '🖼', color: '#6CE5A0', courseId: 'c_003' }, { id: 'path_4', title: '简单上色', desc: '认识颜色,学会基础涂色', icon: '🎨', color: '#FF7B7B', courseId: 'c_004' } ] // 课程分类 const CATEGORIES = ['简笔画', '人物', '动物', '植物', '风景', '素描基础'] // 所有课程数据 const ALL_COURSES = [ // 简笔画 { id: 'c_001', category: '简笔画', title: '直线与曲线基础', cover: '', coverColor: '#6C8CFF', coverEmoji: '✏️', desc: '掌握控笔基础,学会画出流畅的直线和曲线,是一切绘画的起点。', difficulty: '零基础', lessons: 5, duration: '15分钟', target: '能独立画出均匀流畅的线条', suitable: '完全没有绘画经验的初学者', tools: '铅笔、白纸', steps: [ { title: '准备工具', image: '', imageEmoji: '📝', desc: '准备好一支HB铅笔和一张白纸。握笔时手腕放松,不要用力捏住铅笔。', tip: '💡 手腕放松是画好线条的关键' }, { title: '画水平直线', image: '', imageEmoji: '➖', desc: '从左到右,匀速画出一条水平直线。注意力度均匀,不要停顿。多练习几组,间距保持一致。', tip: '💡 眼睛看终点,手跟着眼走' }, { title: '画垂直直线', image: '', imageEmoji: '|', desc: '从上往下,画出垂直直线。可以在纸上先标出起点和终点,帮助对齐方向。', tip: '💡 不要一次画很长,先从短线练起' }, { title: '画弧线', image: '', imageEmoji: '⌒', desc: '以肘关节为轴,画出圆滑的弧线。弧线要圆润,不能有折点。', tip: '💡 弧线靠手臂运动,不是手腕扭动' }, { title: '综合练习', image: '', imageEmoji: '🌊', desc: '结合直线和弧线,画出波浪形线条。这是检验你控笔能力的最好方式。', tip: '💡 每天练习5分钟,一周后你会明显进步' } ] }, { id: 'c_002', category: '简笔画', title: '基础形状练习', cover: '', coverColor: '#FFB84D', coverEmoji: '⬡', desc: '从圆形、三角形、方形出发,学会用简单形状组合出各种物体。', difficulty: '零基础', lessons: 4, duration: '20分钟', target: '能用基础形状拼出简单图案', suitable: '练习过线条的初学者', tools: '铅笔、橡皮、白纸', steps: [ { title: '画正圆', image: '', imageEmoji: '⭕', desc: '用手腕转动的方式画圆,一笔完成。先画小圆练手感,再逐渐加大。', tip: '💡 可以用硬币辅助,熟悉圆的弧度感' }, { title: '画正三角形', image: '', imageEmoji: '△', desc: '先画底边,再从两端分别向上延伸,在顶点汇合。注意三条边长度要接近。', tip: '💡 先轻轻画,满意后再加重' }, { title: '画正方形', image: '', imageEmoji: '⬜', desc: '四条边依次画出,转角处要成直角。可以先画一条参考线保证水平。', tip: '💡 四个角要90度,不然看起来会歪' }, { title: '形状组合练习', image: '', imageEmoji: '🏠', desc: '用正方形和三角形组合出一栋小房子。圆形变成太阳,长方形变成门。', tip: '💡 这就是简笔画的基本原理——形状组合' } ] }, { id: 'c_003', category: '简笔画', title: '临摹入门:太阳花', cover: '', coverColor: '#FFE566', coverEmoji: '🌻', desc: '跟着步骤一步步临摹一朵向日葵,体验从无到有的成就感。', difficulty: '入门', lessons: 6, duration: '25分钟', target: '完成一幅向日葵简笔画', suitable: '已掌握基础形状的初学者', tools: '铅笔、彩色笔、白纸', steps: [ { title: '画花心圆', image: '', imageEmoji: '⭕', desc: '在纸张中央画一个中等大小的圆形,这是向日葵的花心。', tip: '💡 花心不用画太大,留出空间给花瓣' }, { title: '添加花瓣', image: '', imageEmoji: '🌼', desc: '围绕花心,均匀画出12-16片椭圆形花瓣。每片花瓣从花心边缘向外延伸。', tip: '💡 花瓣间距均匀,看起来更好看' }, { title: '画茎和叶', image: '', imageEmoji: '🌿', desc: '从花心底部画一条向下弯曲的茎,两侧加上心形的叶片。', tip: '💡 茎可以略微弯曲,更自然' }, { title: '添加细节', image: '', imageEmoji: '✨', desc: '在花心内部画出小格子纹理,花瓣上添加几条纹路线。', tip: '💡 细节不用太多,点到为止' }, { title: '上色:花瓣', image: '', imageEmoji: '🟡', desc: '用黄色给花瓣上色,从花瓣根部向外涂,注意留白产生光泽感。', tip: '💡 涂色方向统一,颜色更均匀' }, { title: '上色:完成', image: '', imageEmoji: '🌻', desc: '花心涂深棕色,茎叶涂绿色。完成!', tip: '💡 恭喜你完成了第一幅作品!' } ] }, { id: 'c_004', category: '简笔画', title: '简单上色技法', cover: '', coverColor: '#FF7B7B', coverEmoji: '🎨', desc: '学习基础上色方法,让你的画作变得生动有色彩。', difficulty: '入门', lessons: 4, duration: '20分钟', target: '掌握平涂、渐变两种基本上色技法', suitable: '完成线稿练习的初学者', tools: '彩色笔或蜡笔、白纸', steps: [ { title: '认识颜色', image: '', imageEmoji: '🌈', desc: '三原色:红、黄、蓝。它们两两混合产生橙、绿、紫。了解颜色的基本关系。', tip: '💡 先从最常用的几个颜色开始' }, { title: '平涂练习', image: '', imageEmoji: '▪️', desc: '在一个正方形内,用彩笔均匀平涂。涂色方向保持一致(全部横向或全部竖向)。', tip: '💡 用力均匀,才能颜色均匀' }, { title: '渐变上色', image: '', imageEmoji: '🌅', desc: '从一侧开始用力涂,向另一侧逐渐减轻力度,产生由深到浅的渐变效果。', tip: '💡 渐变让画面更有立体感' }, { title: '给简笔画上色', image: '', imageEmoji: '🍎', desc: '用平涂技法给一个苹果线稿上色:主体红色,顶部留白显光泽,底部稍深。', tip: '💡 留白是让画看起来有光感的秘诀' } ] }, // 动物 { id: 'c_005', category: '动物', title: '可爱小猫咪', cover: '', coverColor: '#FFB84D', coverEmoji: '🐱', desc: '用简单的几何形状画出一只萌萌的小猫,适合零基础入门。', difficulty: '入门', lessons: 5, duration: '20分钟', target: '完成一幅小猫简笔画', suitable: '喜欢动物的初学者', tools: '铅笔、黑色勾线笔、彩色笔', steps: [ { title: '画猫头', image: '', imageEmoji: '⭕', desc: '画一个稍大的圆形作为猫的头部,上方两侧各加一个小三角形作为耳朵。', tip: '💡 耳朵角度向外微微张开,更可爱' }, { title: '画五官', image: '', imageEmoji: '👁', desc: '画两个大圆眼睛,中间画小椭圆瞳孔。鼻子是小三角形,嘴巴是W形。', tip: '💡 眼睛大一些,猫咪看起来更萌' }, { title: '画胡须', image: '', imageEmoji: '~', desc: '鼻子两侧各画3根细长的胡须线,要画得自然弯曲。', tip: '💡 胡须是猫咪最有特色的部分' }, { title: '画身体', image: '', imageEmoji: '🐾', desc: '头部下方画一个椭圆形身体,加上前后四条腿和一条弯曲的尾巴。', tip: '💡 尾巴末端可以卷起来,更生动' }, { title: '上色完成', image: '', imageEmoji: '🐱', desc: '用橙色或灰色给猫咪上色,耳朵内侧涂粉色,加上几条条纹斑纹。', tip: '💡 完成!你的第一只猫咪诞生了' } ] }, { id: 'c_006', category: '动物', title: '萌萌小兔子', cover: '', coverColor: '#FF9EC4', coverEmoji: '🐰', desc: '画出一只长耳朵可爱兔子,学习动物五官的表达方式。', difficulty: '入门', lessons: 4, duration: '15分钟', target: '完成一幅兔子简笔画', suitable: '已有初步控笔能力的初学者', tools: '铅笔、彩色笔', steps: [ { title: '画兔子头和耳朵', image: '', imageEmoji: '🐰', desc: '画圆形头部,顶部画两个细长的竖耳朵(椭圆形),耳朵比头稍长。', tip: '💡 长耳朵是兔子最显眼的特征' }, { title: '画五官', image: '', imageEmoji: '👀', desc: '两个圆眼睛,小圆鼻子,嘴巴是"Y"形(两片嘴唇)。腮部加两个小圆圈。', tip: '💡 腮红让兔子更可爱' }, { title: '画身体', image: '', imageEmoji: '🫁', desc: '圆润的椭圆形身体,短短的四肢,背面有一个小圆尾巴。', tip: '💡 兔子身体圆润,不要画得太尖' }, { title: '上色完成', image: '', imageEmoji: '🐇', desc: '白色兔子留白,耳朵内侧和腮红涂粉色,眼睛可以涂红色或蓝色。', tip: '💡 白色兔子的轮廓线用浅灰色更好看' } ] }, // 植物 { id: 'c_007', category: '植物', title: '多肉植物', cover: '', coverColor: '#6CE5A0', coverEmoji: '🪴', desc: '画出可爱的多肉植物,学习植物形态的表达和重叠关系。', difficulty: '入门', lessons: 5, duration: '20分钟', target: '完成一盆多肉植物图案', suitable: '喜欢植物的初学者', tools: '铅笔、绿色系彩笔', steps: [ { title: '画花盆', image: '', imageEmoji: '🪣', desc: '画一个梯形花盆:上宽下窄,底部加一条横线表示盆底,两侧弧度自然。', tip: '💡 花盆大小要和上方植物匹配' }, { title: '画中心叶片', image: '', imageEmoji: '🌿', desc: '在花盆上方中央画一片椭圆形叶片,尖端向上,这是多肉的最顶部。', tip: '💡 叶片要厚实饱满,多肉的特征' }, { title: '添加外层叶片', image: '', imageEmoji: '🍃', desc: '围绕中心叶片,向外交错排列6-8片叶片,越外层越大越向外张开。', tip: '💡 叶片之间稍微重叠,有层次感' }, { title: '添加细节', image: '', imageEmoji: '✨', desc: '每片叶片中间画一条中脉,花盆上画几条纹路。', tip: '💡 细节不用多,一两条线就够了' }, { title: '上色完成', image: '', imageEmoji: '🪴', desc: '叶片涂绿色,叶尖可以点一点红色或紫色(多肉晒红的效果),花盆涂浅棕色。', tip: '💡 多肉叶尖的颜色变化是亮点' } ] }, // 人物 { id: 'c_008', category: '人物', title: '简笔小人基础', cover: '', coverColor: '#A78BFA', coverEmoji: '🧍', desc: '学会画一个基础的简笔小人,掌握人体比例关系。', difficulty: '入门', lessons: 5, duration: '20分钟', target: '画出比例协调的简笔小人', suitable: '想学画人物的初学者', tools: '铅笔、彩色笔', steps: [ { title: '画头部', image: '', imageEmoji: '😶', desc: '画一个圆形头部,大小适中。简笔画中头部约占全身的1/6。', tip: '💡 先确定好头的大小,其他部分按比例来' }, { title: '画躯干', image: '', imageEmoji: '🫀', desc: '从脖子向下画一个长方形躯干,高度约为头的2倍。肩部略宽,腰部略窄。', tip: '💡 躯干是人体的核心,要画得端正' }, { title: '画手臂', image: '', imageEmoji: '💪', desc: '从肩部向下画两条手臂,末端加上简单的手形(可以是手套形)。', tip: '💡 手臂自然下垂时,手腕在腰部左右' }, { title: '画腿和脚', image: '', imageEmoji: '🦵', desc: '从腰部向下画两条腿,略比手臂粗。末端画简单的椭圆形鞋子。', tip: '💡 腿的长度约为躯干的1.5倍' }, { title: '添加五官和服装', image: '', imageEmoji: '🧍', desc: '给头部添加简单五官,躯干部分画上衬衫领口和口袋等细节。', tip: '💡 简笔小人不必精细,可爱就够了' } ] }, // 风景 { id: 'c_009', category: '风景', title: '简单风景:晴天', cover: '', coverColor: '#87CEEB', coverEmoji: '🌤', desc: '画出一幅包含天空、山丘和草地的简单风景,学习风景构图基础。', difficulty: '入门', lessons: 5, duration: '25分钟', target: '完成一幅简单的晴天风景画', suitable: '想学风景画的初学者', tools: '铅笔、彩色笔或蜡笔', steps: [ { title: '画地平线', image: '', imageEmoji: '➖', desc: '在纸张约2/3高度处画一条水平线作为地平线,上方是天空,下方是地面。', tip: '💡 地平线的高低决定了画面的空间感' }, { title: '画远山', image: '', imageEmoji: '⛰', desc: '在地平线上方画几个大小不一的弧形山丘,前后叠加产生远近感。', tip: '💡 远处的山要画得小一些、颜色淡一些' }, { title: '画太阳和云', image: '', imageEmoji: '☀️', desc: '右上角画一个圆形太阳,周围加短线条表示光芒。画几朵简单的棉花云。', tip: '💡 云的形状:多个小圆形叠在一起' }, { title: '画草地和树', image: '', imageEmoji: '🌲', desc: '地平线下方涂绿色草地,加几棵三角形松树和圆形树冠的树。', tip: '💡 树的大小和远近要有变化' }, { title: '上色完成', image: '', imageEmoji: '🌄', desc: '天空涂浅蓝色,山丘涂蓝绿色,草地涂绿色,太阳涂黄色。', tip: '💡 颜色可以从浅到深,层次更丰富' } ] }, // 素描基础 { id: 'c_010', category: '素描基础', title: '排线入门', cover: '', coverColor: '#888888', coverEmoji: '📐', desc: '学习素描最基础的排线技法,这是素描的核心功夫。', difficulty: '入门', lessons: 4, duration: '20分钟', target: '掌握均匀排线的基本方法', suitable: '想系统学习素描的初学者', tools: 'HB/2B铅笔、素描纸', steps: [ { title: '认识铅笔硬度', image: '', imageEmoji: '✏️', desc: 'H系列越硬线条越细浅,B系列越软线条越粗深。初学者用HB或2B最合适。', tip: '💡 同一支笔,用力不同也能画出深浅变化' }, { title: '单向排线练习', image: '', imageEmoji: '|||', desc: '均匀画出平行的斜线,线条之间间距相等,粗细相同。从左到右,不回笔。', tip: '💡 排线要平行,不能交叉弯曲' }, { title: '交叉排线', image: '', imageEmoji: '###', desc: '在第一层排线上,换一个角度叠加第二层排线,形成交叉网格效果。', tip: '💡 交叉排线可以制造丰富的明暗层次' }, { title: '渐变调子', image: '', imageEmoji: '▓', desc: '用排线的疏密变化制造渐变:左侧排线密(颜色深),向右逐渐变疏(颜色浅)。', tip: '💡 素描的光影就是靠排线疏密来表现的' } ] } ] // 今日推荐(取前3个) const DAILY_RECOMMEND = ALL_COURSES.slice(0, 3) // 练习任务数据 const PRACTICE_TASKS = [ { id: 'pt_001', title: '直线描线练习', type: '描线练习', difficulty: '入门', duration: '5分钟', courseId: 'c_001', stepIndex: 1, icon: '➖', iconColor: '#6C8CFF', desc: '画100条均匀的水平直线,感受控笔节奏' }, { id: 'pt_002', title: '圆形临摹练习', type: '形状练习', difficulty: '入门', duration: '5分钟', courseId: 'c_002', stepIndex: 0, icon: '⭕', iconColor: '#FFB84D', desc: '连续画50个大小不一的圆形,提升圆弧控制能力' }, { id: 'pt_003', title: '向日葵临摹', type: '临摹练习', difficulty: '初级', duration: '15分钟', courseId: 'c_003', stepIndex: 0, icon: '🌻', iconColor: '#FFE566', desc: '完整临摹一朵向日葵,综合线条和形状能力' }, { id: 'pt_004', title: '小猫描线', type: '描线练习', difficulty: '初级', duration: '10分钟', courseId: 'c_005', stepIndex: 0, icon: '🐱', iconColor: '#FFB84D', desc: '对照范例,描出小猫的轮廓线' }, { id: 'pt_005', title: '多肉形状组合', type: '形状练习', difficulty: '初级', duration: '10分钟', courseId: 'c_007', stepIndex: 1, icon: '🪴', iconColor: '#6CE5A0', desc: '用椭圆形叶片组合画出多肉植物' }, { id: 'pt_006', title: '素描排线', type: '描线练习', difficulty: '初级', duration: '10分钟', courseId: 'c_010', stepIndex: 1, icon: '📐', iconColor: '#888888', desc: '完成单向排线和交叉排线各一组' } ] module.exports = { BEGINNER_PATH, CATEGORIES, ALL_COURSES, DAILY_RECOMMEND, PRACTICE_TASKS, getCourseById(id) { return ALL_COURSES.find(c => c.id === id) || null }, getCoursesByCategory(category) { return ALL_COURSES.filter(c => c.category === category) } }