21 lines
604 B
TypeScript
21 lines
604 B
TypeScript
/**
|
||
* 课程解锁 - 校验登录态 + 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;
|
||
}
|