Files
YelayMaths/yelaymaths/pages/kecheng/kecheng.js
T
2026-09-29 15:25:40 +08:00

70 lines
1.7 KiB
JavaScript

// pages/kecheng/kecheng.js
const api = require('../../utils/api');
const store = require('../../utils/store');
const config = require('../../config/index');
const app = getApp();
Page({
data: {
staticBase: config.STATIC_BASE_URL,
hasCourse: false,
ownedCourses: [],
otherCourses: [],
tipsHtml: '',
},
onLoad() {
// 旧版本用 10ms 轮询最多 5 秒等登录数据,这里改为等初始化完成
app.ready().then(() => this.refresh());
},
onShow() {
if (store.isLoggedIn()) this.refresh();
},
refresh() {
this.loadTips();
api
.getEntitlements()
.then((list) => {
store.setEntitlements(list);
this.setData({ ownedCourses: list || [], hasCourse: (list || []).length > 0 });
})
.catch((err) => console.warn('[kecheng] 已购课程加载失败', err));
api
.getCourses()
.then((list) => {
this.setData({ otherCourses: (list || []).filter((c) => !c.owned) });
})
.catch((err) => console.warn('[kecheng] 课程列表加载失败', err));
},
loadTips() {
if (this.data.tipsHtml) return;
api
.getTips()
.then((tip) => this.setData({ tipsHtml: (tip && tip.content) || ' ' }))
.catch((err) => console.warn('[kecheng] 文案加载失败', err));
},
toMyCourse(e) {
wx.navigateTo({
url: '/pages/VideoDetails/VideoDetails?code=' + e.currentTarget.dataset.code,
});
},
toStoreCourse(e) {
wx.navigateTo({
url: '/pages/VideoDetails/VideoDetails?code=' + e.currentTarget.dataset.code,
});
},
onShareAppMessage() {
return { title: '叶雷讲数学', path: '/pages/index/index' };
},
});