|
@@ -11,7 +11,7 @@ const state = {
|
|
|
platformApi: "/api",
|
|
|
platformType: "TEACHER"
|
|
|
}
|
|
|
-import { useRoute, useRouter } from "vue-router"
|
|
|
+import { useRoute } from "vue-router"
|
|
|
import { postMessage, promisefiyPostMessage } from "./helpers/native-message"
|
|
|
import MusicScore from "./component/musicScore"
|
|
|
import iconDian from "./image/icon-dian.svg"
|
|
@@ -42,7 +42,6 @@ export default defineComponent({
|
|
|
setup() {
|
|
|
const pageVisibility = usePageVisibility()
|
|
|
const userStoreHook = userStore()
|
|
|
- const router = useRouter()
|
|
|
/** 页面显示和隐藏 */
|
|
|
watch(
|
|
|
() => pageVisibility.value,
|
|
@@ -109,6 +108,7 @@ export default defineComponent({
|
|
|
onUnmounted(() => {
|
|
|
handleInit(1)
|
|
|
window.removeEventListener("message", iframeHandle)
|
|
|
+ window.removeEventListener("keyup", handleEventKeyup)
|
|
|
})
|
|
|
|
|
|
const route = useRoute()
|
|
@@ -342,8 +342,16 @@ export default defineComponent({
|
|
|
}
|
|
|
// getCourseSchedule();
|
|
|
window.addEventListener("message", iframeHandle)
|
|
|
+ window.addEventListener("keyup", handleEventKeyup)
|
|
|
})
|
|
|
-
|
|
|
+ function handleEventKeyup(event: any) {
|
|
|
+ const key = event.key
|
|
|
+ if (key === "ArrowDown") {
|
|
|
+ handlePreAndNext("down")
|
|
|
+ } else if (key === "ArrowUp") {
|
|
|
+ handlePreAndNext("up")
|
|
|
+ }
|
|
|
+ }
|
|
|
const playRef = ref()
|
|
|
// 返回
|
|
|
const goback = () => {
|
|
@@ -353,7 +361,7 @@ export default defineComponent({
|
|
|
console.log(error)
|
|
|
}
|
|
|
postMessage({ api: "goBack" })
|
|
|
- router.back()
|
|
|
+ window.close()
|
|
|
}
|
|
|
|
|
|
const popupData = reactive({
|
|
@@ -576,8 +584,14 @@ export default defineComponent({
|
|
|
// 上一个知识点, 下一个知识点
|
|
|
const handlePreAndNext = (type: string) => {
|
|
|
if (type === "up") {
|
|
|
+ if (!popupData.activeIndex) {
|
|
|
+ return
|
|
|
+ }
|
|
|
handleSwipeChange(popupData.activeIndex - 1)
|
|
|
} else {
|
|
|
+ if (popupData.activeIndex === data.itemList.length - 1) {
|
|
|
+ return
|
|
|
+ }
|
|
|
handleSwipeChange(popupData.activeIndex + 1)
|
|
|
}
|
|
|
}
|
|
@@ -596,9 +610,9 @@ export default defineComponent({
|
|
|
penShow: false
|
|
|
})
|
|
|
|
|
|
- const isWhite = ref(false)
|
|
|
+ const whiteShow = ref(false)
|
|
|
/** 打开教学工具 */
|
|
|
- const openStudyTool = (item: ToolItem, isw?: boolean) => {
|
|
|
+ const openStudyTool = (item: ToolItem) => {
|
|
|
const activeItem = data.itemList[popupData.activeIndex]
|
|
|
// 暂停视频和曲谱的播放
|
|
|
if (activeItem.typeCode === "VIDEO" && data.videoItemRef?.getVideoItem()) {
|
|
@@ -610,17 +624,18 @@ export default defineComponent({
|
|
|
clearModel()
|
|
|
popupData.toolOpen = false
|
|
|
studyData.type = item.type
|
|
|
- isw && (isWhite.value = true)
|
|
|
switch (item.type) {
|
|
|
case "pen":
|
|
|
studyData.penShow = true
|
|
|
break
|
|
|
+ case "white":
|
|
|
+ whiteShow.value = true
|
|
|
+ break
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/** 关闭教学工具 */
|
|
|
const closeStudyTool = () => {
|
|
|
- isWhite.value = false
|
|
|
studyData.type = "init"
|
|
|
toggleModel()
|
|
|
}
|
|
@@ -792,14 +807,11 @@ export default defineComponent({
|
|
|
<div
|
|
|
class={[styles.fullBtn, styles.point]}
|
|
|
onClick={() =>
|
|
|
- openStudyTool(
|
|
|
- {
|
|
|
- type: "pen",
|
|
|
- icon: iconPen,
|
|
|
- name: "白板"
|
|
|
- },
|
|
|
- true
|
|
|
- )
|
|
|
+ openStudyTool({
|
|
|
+ type: "white",
|
|
|
+ icon: iconPen,
|
|
|
+ name: "白板"
|
|
|
+ })
|
|
|
}
|
|
|
>
|
|
|
<img src={require("./image/bb.png")} />
|
|
@@ -940,14 +952,11 @@ export default defineComponent({
|
|
|
<div
|
|
|
class={styles.rightBtn}
|
|
|
onClick={() => {
|
|
|
- openStudyTool(
|
|
|
- {
|
|
|
- type: "pen",
|
|
|
- icon: iconPen,
|
|
|
- name: "批注"
|
|
|
- },
|
|
|
- true
|
|
|
- )
|
|
|
+ openStudyTool({
|
|
|
+ type: "pen",
|
|
|
+ icon: iconPen,
|
|
|
+ name: "批注"
|
|
|
+ })
|
|
|
}}
|
|
|
>
|
|
|
<img src={iconPen} />
|
|
@@ -1003,7 +1012,8 @@ export default defineComponent({
|
|
|
{/* <OGuide /> */}
|
|
|
</Popup>
|
|
|
|
|
|
- {studyData.penShow && <Pen isWhite={isWhite.value} show={studyData.type === "pen"} close={() => closeStudyTool()} />}
|
|
|
+ {studyData.penShow && <Pen show={studyData.type === "pen"} close={() => closeStudyTool()} />}
|
|
|
+ {whiteShow.value && <Pen isWhite={whiteShow.value} show={studyData.type === "white"} close={() => closeStudyTool()} />}
|
|
|
</div>
|
|
|
)
|
|
|
}
|