huahuazenmehua/utils/data.js

645 lines
20 KiB
JavaScript
Raw Permalink Normal View History

2026-05-08 17:00:10 +08:00
/**
* 静态课程数据
*/
// 入门路径卡片
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)
}
}