|
@@ -10,6 +10,7 @@ import {
|
|
|
import styles from './index.module.less';
|
|
|
import icon_back from '../../image/icon_back.svg';
|
|
|
import icon_play from '../../image/icon_class.png';
|
|
|
+import pre from '../../image/pre.png'
|
|
|
import { useRouter } from 'vue-router';
|
|
|
import { listenerMessage, postMessage } from '@/helpers/native-message';
|
|
|
import { showToast } from 'vant';
|
|
@@ -54,7 +55,7 @@ export default defineComponent({
|
|
|
});
|
|
|
const showGuide = ref(false);
|
|
|
const isend = ref(false)
|
|
|
- const isHandMove = ref(false)
|
|
|
+ const CoursewareDetailRef = ref()
|
|
|
const handleCreate = (key: string, url: string) => {
|
|
|
return new Promise((resolve, reject) => {
|
|
|
const _s = document.head.querySelector(`script[data-key="${key}"]`);
|
|
@@ -75,6 +76,7 @@ export default defineComponent({
|
|
|
// await handleCreate('turn', '/book/turn.js');
|
|
|
console.log('初始化完成');
|
|
|
};
|
|
|
+ const isFirest = ref(true)
|
|
|
let book: any = null;
|
|
|
let timer: any = null;
|
|
|
const handleBook = () => {
|
|
@@ -86,7 +88,6 @@ export default defineComponent({
|
|
|
book.turn({
|
|
|
autoCenter: true,
|
|
|
duration: 1000,
|
|
|
- disable: false,
|
|
|
acceleration: true, // 是否启动硬件加速 如果为触摸设备必须为true
|
|
|
// pages: 11, // 页码总数
|
|
|
elevation: 50, // 转换期间页面的高度
|
|
@@ -95,8 +96,11 @@ export default defineComponent({
|
|
|
gradients: true, // 是否显示翻页阴影效果
|
|
|
// display: 'single', //设置单页还是双页
|
|
|
})
|
|
|
+
|
|
|
+
|
|
|
book.bind('start', (event: Event, pageObject: any, corner: any) => {
|
|
|
// console.log(event, 'last', pageObject.next)
|
|
|
+
|
|
|
if (corner == 'tl' || corner == 'tr') {
|
|
|
event.preventDefault();
|
|
|
|
|
@@ -104,21 +108,33 @@ export default defineComponent({
|
|
|
if (data.isClick) {
|
|
|
nextTick(() => {
|
|
|
data.isClick = false
|
|
|
- console.log(corner, 'corner')
|
|
|
if (corner == 'tl' || corner == 'tr') {
|
|
|
event.preventDefault();
|
|
|
|
|
|
} else {
|
|
|
book.turn('page', pageObject.next);
|
|
|
}
|
|
|
-
|
|
|
})
|
|
|
}
|
|
|
});
|
|
|
book.bind('turned', (event: Event, page: any, corner: any) => {
|
|
|
- setTimeout(() => {
|
|
|
+ // setTimeout(() => {
|
|
|
+ // }, 1000);
|
|
|
+
|
|
|
+ if (isFirest.value) {
|
|
|
+ console.log('第一次进来禁用', page)
|
|
|
+ isFirest.value = false
|
|
|
+ book.turn('disabled', true);
|
|
|
showGuide.value = true;
|
|
|
- }, 1000);
|
|
|
+ }
|
|
|
+
|
|
|
+ // setTimeout(() => {
|
|
|
+
|
|
|
+ // }, 500)
|
|
|
+ // nextTick(() => {
|
|
|
+ //
|
|
|
+ // })
|
|
|
+
|
|
|
|
|
|
// if (page + 1 === book.turn('pages')) {
|
|
|
// // noanimateClose()
|
|
@@ -175,9 +191,6 @@ export default defineComponent({
|
|
|
data.show = true;
|
|
|
timer = setTimeout(() => {
|
|
|
book.turn('page', 2);
|
|
|
- setTimeout(() => {
|
|
|
- showGuide.value = true;
|
|
|
- }, 1500);
|
|
|
}, 500);
|
|
|
|
|
|
|
|
@@ -218,6 +231,7 @@ export default defineComponent({
|
|
|
listenerMessage('webViewOnResume', () => {
|
|
|
data.lastTime = localStorage.getItem(lastTimeKey);
|
|
|
});
|
|
|
+
|
|
|
});
|
|
|
const getList = () => {
|
|
|
if (!props.bookData?.lessonList) return;
|
|
@@ -254,6 +268,7 @@ export default defineComponent({
|
|
|
() => props.show,
|
|
|
() => {
|
|
|
if (props.show) {
|
|
|
+
|
|
|
getList();
|
|
|
nextTick(() => {
|
|
|
handleBook();
|
|
@@ -308,6 +323,17 @@ export default defineComponent({
|
|
|
|
|
|
return false
|
|
|
}
|
|
|
+
|
|
|
+ const changeShowGuide = (flag: boolean) => {
|
|
|
+ showGuide.value = flag
|
|
|
+ if (flag) {
|
|
|
+ console.log('changeShowGuide禁用')
|
|
|
+ book.turn('disabled', true);
|
|
|
+ } else {
|
|
|
+ console.log('changeShowGuide取消禁用')
|
|
|
+ book.turn('disabled', false);
|
|
|
+ }
|
|
|
+ }
|
|
|
return () => (
|
|
|
<div class={[styles.book, data.show ? '' : styles.bookHide]} onClick={() => handleClose()} onTouchmove={() => {
|
|
|
console.log('sdfds')
|
|
@@ -358,11 +384,12 @@ export default defineComponent({
|
|
|
<div
|
|
|
class={styles.name}
|
|
|
style={{ lineHeight: '20Px' }}>
|
|
|
- {item.name}
|
|
|
- {/* <TheNoticeBar text={item.name} isAnimation={isStartAnimate(item)}></TheNoticeBar> */}
|
|
|
{data.lastTime === item.id && (
|
|
|
- <span class={styles.last}>上次观看</span>
|
|
|
+ <img src={pre} alt="" class={styles.preIcon} />
|
|
|
)}
|
|
|
+ {item.name}
|
|
|
+ {/* <TheNoticeBar text={item.name} isAnimation={isStartAnimate(item)}></TheNoticeBar> */}
|
|
|
+
|
|
|
</div>
|
|
|
</div >
|
|
|
</>
|
|
@@ -395,7 +422,7 @@ export default defineComponent({
|
|
|
</div >
|
|
|
)}
|
|
|
</div >
|
|
|
- {showGuide.value ? <CoursewareDetail></CoursewareDetail> : null}
|
|
|
+ {showGuide.value ? <CoursewareDetail onChangeShowGuide={changeShowGuide} ref={CoursewareDetailRef}></CoursewareDetail> : null}
|
|
|
</div >
|
|
|
);
|
|
|
}
|