/** * 课程解锁 - 校验登录态 + VIP(/api/vip/check) * 与 join 报名支付分离,课程解锁用 VIP 状态 */ /** 前 2 章为试看,无需支付 */ export function isFreeTrial(moduleIndex: number, lessonIndex: number): boolean { if (moduleIndex === 0 && lessonIndex < 2) return true; return false; } /** 章节是否可观看(需传入 vip 状态,来自 useAuthAndVip 或 /api/vip/check) */ export function canWatchLesson( moduleIndex: number, lessonIndex: number, vip: boolean ): boolean { if (isFreeTrial(moduleIndex, lessonIndex)) return true; return vip; }