87 lines
2.3 KiB
JavaScript
87 lines
2.3 KiB
JavaScript
|
|
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' }
|
||
|
|
}
|
||
|
|
}))
|