// pages/settings/settings.js const app = getApp(); Page({ data: { role: 'parent', // parent 或 child userInfo: null, familyInfo: null, children: [], currentChild: null, settings: { notification: true, sound: true, darkMode: false, language: 'zh_CN' }, danLevels: [ { value: 'A1', label: 'A1 - 幼儿园小班' }, { value: 'A2', label: 'A2 - 幼儿园中班' }, { value: 'A3', label: 'A3 - 幼儿园大班' }, { value: 'B1', label: 'B1 - 小学一年级' }, { value: 'B2', label: 'B2 - 小学二年级' }, { value: 'B3', label: 'B3 - 小学三年级' }, { value: 'B4', label: 'B4 - 小学四年级' }, { value: 'B5', label: 'B5 - 小学五年级' }, { value: 'B6', label: 'B6 - 小学六年级' } ], loading: false }, onLoad() { this.setData({ role: app.globalData.role }); this.loadUserInfo(); this.loadSettings(); }, onShow() { this.loadUserInfo(); }, // 加载用户信息 loadUserInfo() { this.setData({ userInfo: app.globalData.userInfo, loading: true }); // 模拟数据 const mockFamily = { id: 1, name: '快乐家庭', inviteCode: 'ABC123', memberCount: 4 }; const mockChildren = [ { id: 1, name: '小明', age: 8, danLevel: 'B2', penaltyEnabled: true, points: 120 }, { id: 2, name: '小红', age: 6, danLevel: 'A3', penaltyEnabled: false, points: 85 } ]; setTimeout(() => { this.setData({ familyInfo: mockFamily, children: mockChildren, currentChild: mockChildren[0], loading: false }); }, 500); }, // 加载设置 loadSettings() { const settings = wx.getStorageSync('appSettings'); if (settings) { this.setData({ settings }); } }, // 保存设置 saveSettings() { wx.setStorageSync('appSettings', this.data.settings); }, // 切换通知 onNotificationChange(e) { this.setData({ 'settings.notification': e.detail.value }); this.saveSettings(); }, // 切换声音 onSoundChange(e) { this.setData({ 'settings.sound': e.detail.value }); this.saveSettings(); }, // 切换暗黑模式 onDarkModeChange(e) { this.setData({ 'settings.darkMode': e.detail.value }); this.saveSettings(); // 实际应用中这里需要切换主题 wx.showToast({ title: '暗黑模式功能开发中', icon: 'none' }); }, // 切换语言 onLanguageChange(e) { this.setData({ 'settings.language': e.detail.value }); this.saveSettings(); }, // 切换孩子 onChildChange(e) { const childId = parseInt(e.detail.value); const child = this.data.children.find(c => c.id === childId); this.setData({ currentChild: child }); }, // 编辑孩子信息 onEditChild() { wx.navigateTo({ url: `/pages/child-edit/child-edit?id=${this.data.currentChild.id}` }); }, // 管理家庭 onManageFamily() { wx.navigateTo({ url: '/pages/family-manage/family-manage' }); }, // 邀请成员 onInviteMember() { wx.showModal({ title: '邀请家庭成员', content: `家庭邀请码:${this.data.familyInfo?.inviteCode || ''}`, showCancel: false, confirmText: '复制邀请码', success: (res) => { if (res.confirm) { wx.setClipboardData({ data: this.data.familyInfo?.inviteCode || '', success: () => { wx.showToast({ title: '邀请码已复制', icon: 'success' }); } }); } } }); }, // 查看积分记录 onViewPointsLog() { wx.navigateTo({ url: `/pages/points-log/points-log?childId=${this.data.currentChild?.id || 0}&childName=${this.data.currentChild?.name || ''}` }); }, // 查看成就 onViewAchievements() { wx.navigateTo({ url: '/pages/achievements/achievements' }); }, // DAN测评 onDanAssessment() { wx.navigateTo({ url: `/pages/dan-assessment/dan-assessment?childId=${this.data.currentChild?.id || 0}` }); }, // 关于我们 onAbout() { wx.showModal({ title: '关于知行益家', content: '版本:V1.0.0\n\n知行益家是一款家庭教育任务管理小程序,通过积分奖励机制激励孩子自主完成任务,培养时间管理和延迟满足能力。', showCancel: false }); }, // 帮助中心 onHelp() { wx.navigateTo({ url: '/pages/help/help' }); }, // 反馈建议 onFeedback() { wx.navigateTo({ url: '/pages/feedback/feedback' }); }, // 退出登录 onLogout() { wx.showModal({ title: '确认退出', content: '确定要退出登录吗?', success: (res) => { if (res.confirm) { app.logout(); wx.reLaunch({ url: '/pages/login/login' }); } } }); }, // 清除缓存 onClearCache() { wx.showModal({ title: '确认清除', content: '确定要清除本地缓存吗?这可能会影响应用性能。', success: (res) => { if (res.confirm) { wx.clearStorageSync(); wx.showToast({ title: '缓存已清除', icon: 'success' }); } } }); }, // 检查更新 onCheckUpdate() { wx.showLoading({ title: '检查更新中...' }); setTimeout(() => { wx.hideLoading(); wx.showToast({ title: '已是最新版本', icon: 'success' }); }, 1000); } });