|
@@ -17,13 +17,15 @@ import { showToast } from 'vant';
|
|
|
import queryString from 'query-string';
|
|
|
import CoursewareDetail from '@/custom-plugins/guide-page/courseware-detail';
|
|
|
import { usePageVisibility } from '@vant/use';
|
|
|
-import { state } from '@/state';
|
|
|
+import { setLogin, state } from '@/state';
|
|
|
import TheNoticeBar from '@/components/the-noticeBar';
|
|
|
import {
|
|
|
api_lessonDetailCourseware,
|
|
|
api_classDetailCourseware
|
|
|
} from '../../api';
|
|
|
import SelectCoursewarePop from '@/components/select-courseware-pop';
|
|
|
+import SelectCoursewareMember from '@/components/select-courseware-member';
|
|
|
+import request from '@/helpers/request';
|
|
|
|
|
|
export default defineComponent({
|
|
|
name: 'the-book',
|
|
@@ -51,6 +53,7 @@ export default defineComponent({
|
|
|
},
|
|
|
emits: ['close'],
|
|
|
setup(props, { emit }) {
|
|
|
+ const pageVisibility = usePageVisibility();
|
|
|
const router = useRouter();
|
|
|
console.log(state.user.data.phone);
|
|
|
const lastTimeKey = 'lastTime' + (state?.user?.data?.phone ?? '');
|
|
@@ -66,6 +69,7 @@ export default defineComponent({
|
|
|
coursewareList: [] as any
|
|
|
});
|
|
|
const showSelectCourseware = ref(false);
|
|
|
+ const showMember = ref(false);
|
|
|
const showGuide = ref(false);
|
|
|
const isend = ref(false);
|
|
|
const step = ref(0);
|
|
@@ -284,6 +288,18 @@ export default defineComponent({
|
|
|
}
|
|
|
}
|
|
|
);
|
|
|
+
|
|
|
+ watch(
|
|
|
+ () => pageVisibility.value,
|
|
|
+ async (val: any) => {
|
|
|
+ if (val === 'visible') {
|
|
|
+ const userCash = await request.get('/edu-app/user/getUserInfo', {
|
|
|
+ initRequest: true // 初始化接口
|
|
|
+ });
|
|
|
+ setLogin(userCash.data);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ );
|
|
|
// 检测有几个课件
|
|
|
const checkCourseware = async (item: any) => {
|
|
|
if (item.id) {
|
|
@@ -293,6 +309,19 @@ export default defineComponent({
|
|
|
}
|
|
|
|
|
|
if (item.coursewareNum) {
|
|
|
+ // needVipLock
|
|
|
+ const schoolInfos = state.user.data?.schoolInfos;
|
|
|
+ const schoolLock =
|
|
|
+ schoolInfos && schoolInfos.length > 0
|
|
|
+ ? schoolInfos[0].needVipLock
|
|
|
+ : true;
|
|
|
+ if (!state?.user?.data.vipMember && schoolLock) {
|
|
|
+ showMember.value = true;
|
|
|
+ return;
|
|
|
+ } else {
|
|
|
+ showMember.value = false;
|
|
|
+ }
|
|
|
+
|
|
|
try {
|
|
|
const res =
|
|
|
props.tab == 'all' || props.tab == 'favorite'
|
|
@@ -496,6 +525,13 @@ export default defineComponent({
|
|
|
}}
|
|
|
onSelect={item => handleOpenPlay(item)}></SelectCoursewarePop>
|
|
|
)}
|
|
|
+
|
|
|
+ {showMember.value && (
|
|
|
+ <SelectCoursewareMember
|
|
|
+ onClose={() => {
|
|
|
+ showMember.value = false;
|
|
|
+ }}></SelectCoursewareMember>
|
|
|
+ )}
|
|
|
</div>
|
|
|
);
|
|
|
}
|