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