|
@@ -1095,6 +1095,43 @@ export default defineComponent({
|
|
|
}
|
|
|
};
|
|
|
|
|
|
+ const gotoMember = () => {
|
|
|
+ postMessage({
|
|
|
+ api: 'openWebView',
|
|
|
+ content: {
|
|
|
+ url: `${
|
|
|
+ location.origin.includes('localhost')
|
|
|
+ ? 'https://test.lexiaoya.cn'
|
|
|
+ : location.origin
|
|
|
+ }/classroom-app/#/member-center`,
|
|
|
+ orientation: 1
|
|
|
+ }
|
|
|
+ });
|
|
|
+ };
|
|
|
+
|
|
|
+ watch(
|
|
|
+ () => pageVisibility.value,
|
|
|
+ async (val: any) => {
|
|
|
+ // 为了处理从没有会员,到购买会员返回时状态变化
|
|
|
+ if (val === 'visible') {
|
|
|
+ const userCash = await request.get('/edu-app/user/getUserInfo', {
|
|
|
+ initRequest: true // 初始化接口
|
|
|
+ });
|
|
|
+ setLogin(userCash.data);
|
|
|
+ const schoolInfos = userCash.data?.schoolInfos;
|
|
|
+ const schoolLock =
|
|
|
+ schoolInfos && schoolInfos.length > 0
|
|
|
+ ? schoolInfos[0].needVipLock
|
|
|
+ : true;
|
|
|
+ if (!state?.user?.data.vipMember && schoolLock) {
|
|
|
+ showMember.value = true;
|
|
|
+ } else {
|
|
|
+ showMember.value = false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ );
|
|
|
+
|
|
|
return () => (
|
|
|
<div id="playContent" class={styles.playContent}>
|
|
|
<div
|
|
@@ -1115,6 +1152,17 @@ export default defineComponent({
|
|
|
: { opacity: 0, zIndex: -1 }
|
|
|
}
|
|
|
class={styles.itemDiv}>
|
|
|
+ {activeVideoItem.value.paymentType === 'VIP' &&
|
|
|
+ showMember.value && (
|
|
|
+ <div class={styles.memberLock}>
|
|
|
+ <img src={memberLockBg} class={styles.memberLockBg} />
|
|
|
+ <img
|
|
|
+ src={selectIcon}
|
|
|
+ class={styles.selectIcon}
|
|
|
+ onClick={gotoMember}
|
|
|
+ />
|
|
|
+ </div>
|
|
|
+ )}
|
|
|
<VideoItem
|
|
|
ref={(el: any) => (data.videoItemRef = el)}
|
|
|
item={activeVideoItem.value}
|
|
@@ -1172,10 +1220,17 @@ export default defineComponent({
|
|
|
}
|
|
|
activeData.nowTime = Date.now();
|
|
|
}}>
|
|
|
- <div class={styles.memberLock}>
|
|
|
- <img src={memberLockBg} class={styles.memberLockBg} />
|
|
|
- <img src={selectIcon} class={styles.selectIcon} />
|
|
|
- </div>
|
|
|
+ {m.paymentType === 'VIP' && showMember.value && (
|
|
|
+ <div class={styles.memberLock}>
|
|
|
+ <img src={memberLockBg} class={styles.memberLockBg} />
|
|
|
+ <img
|
|
|
+ src={selectIcon}
|
|
|
+ class={styles.selectIcon}
|
|
|
+ onClick={gotoMember}
|
|
|
+ />
|
|
|
+ </div>
|
|
|
+ )}
|
|
|
+
|
|
|
{m.type === 'IMG' && <img src={m.content} />}
|
|
|
{m.type === 'PPT' && (
|
|
|
<iframe
|