huahuazenmehua/utils/data.js

645 lines
20 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/**
* 静态课程数据
*/
// 入门路径卡片
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)
}
}