// 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' }; }, });