huahuazenmehua/pages/profile/profile.js

87 lines
2.3 KiB
JavaScript
Raw Permalink Normal View History

2026-05-08 17:00:10 +08:00
import { injectPage } from '@jdmini/api'
const { getCourseById, ALL_COURSES } = require('../../utils/data.js')
const storage = require('../../utils/storage.js')
Page(injectPage()({
data: {
settings: null,
completedCount: 0,
practiceCount: 0,
favoriteCourses: [],
recentWorks: [],
showReminderModal: false
},
onLoad() {
this.loadData()
},
onShow() {
this.loadData()
},
loadData() {
const settings = storage.initSettings()
const completedCount = storage.getCompletedCount()
const practiceCount = storage.getCompletedPracticeCount()
const favoriteIds = storage.getFavorites()
const favoriteCourses = favoriteIds
.map(id => getCourseById(id))
.filter(Boolean)
.slice(0, 4)
const recentWorks = storage.getWorksRecords().slice(0, 6)
this.setData({
settings,
completedCount,
practiceCount,
favoriteCourses,
recentWorks
})
},
onToggleReminder() {
const { settings } = this.data
const newVal = !settings.reminderEnabled
const updated = storage.saveSettings({ reminderEnabled: newVal })
this.setData({ settings: updated })
wx.showToast({ title: newVal ? '学习提醒已开启' : '学习提醒已关闭', icon: 'none' })
},
onFavCourseTap(e) {
const { courseId } = e.currentTarget.dataset
wx.navigateTo({ url: `/pages/course-detail/course-detail?courseId=${courseId}` })
},
onWorkTap(e) {
const { imagePath } = e.currentTarget.dataset
wx.previewImage({ urls: [imagePath], current: imagePath })
},
onAllCategoryTap() {
wx.navigateTo({ url: '/pages/category/category' })
},
onHelpTap() {
wx.showModal({
title: '帮助说明',
content: '零基础也能学会画画!从「零基础入门路径」开始,跟着步骤一步步完成,每天坚持练习,你会进步很快的 🎨',
showCancel: false,
confirmText: '知道了'
})
},
onPrivacyTap() {
wx.showModal({
title: '隐私说明',
content: '本小程序所有学习数据(进度、收藏、作品)均保存在你的手机本地,不会上传到服务器,请放心使用。',
showCancel: false,
confirmText: '好的'
})
},
onShareAppMessage() {
return { title: '画画怎么画 — 零基础绘画学习', path: '/pages/home/home' }
}
}))