| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- // pages/achievements/achievements.js
- Page({
- data: {
- childId: 0,
- childName: '',
- loading: false,
- achievements: [
- { id: 1, name: '初次尝试', description: '完成第一个任务', icon: '⭐', unlocked: true, unlockedAt: '2026-03-25' },
- { id: 2, name: '三日火焰', description: '连续3天按时完成', icon: '🔥', unlocked: true, unlockedAt: '2026-03-28' },
- { id: 3, name: '一周达人', description: '连续7天按时完成', icon: '🏆', unlocked: false, condition: '连续打卡4天' },
- { id: 4, name: '百题斩', description: '完成100个任务', icon: '📖', unlocked: false, condition: '已完成15个任务' },
- { id: 5, name: '精准打击', description: '连续10个任务提前完成', icon: '🎯', unlocked: false, condition: '已提前完成3个任务' },
- { id: 6, name: '坚持不懈', description: '连续30天按时完成', icon: '💪', unlocked: false, condition: '连续打卡4天' },
- { id: 7, name: '专注大师', description: '完成50次专注训练', icon: '🧠', unlocked: false, condition: '已完成0次专注训练' },
- { id: 8, name: '积分富豪', description: '累计获得1000积分', icon: '💰', unlocked: false, condition: '已获得120积分' },
- { id: 9, name: '全勤宝宝', description: '一周所有任务全部完成', icon: '🏅', unlocked: false, condition: '本周完成3/5个任务' },
- { id: 10, name: '完美主义', description: '单月任务完成率100%', icon: '🎖️', unlocked: false, condition: '本月完成率60%' }
- ],
- stats: {
- totalTasks: 15,
- completedTasks: 12,
- totalPoints: 120,
- streakDays: 4,
- achievementsUnlocked: 2
- }
- },
- onLoad(options) {
- const childId = options.childId || 0;
- const childName = options.childName || '';
- this.setData({ childId, childName });
- wx.setNavigationBarTitle({ title: childName ? `${childName}的成就` : '成就徽章' });
- this.loadAchievements();
- },
- loadAchievements() {
- this.setData({ loading: true });
-
- setTimeout(() => {
- this.setData({ loading: false });
- }, 500);
- },
- onAchievementTap(e) {
- const achievementId = e.currentTarget.dataset.id;
- const achievement = this.data.achievements.find(a => a.id === achievementId);
-
- wx.showModal({
- title: achievement.name,
- content: `${achievement.description}\n\n${achievement.unlocked ? `解锁时间:${achievement.unlockedAt}` : `进度:${achievement.condition}`}`,
- showCancel: false
- });
- }
- });
|